在 davik vm/mterp/out/InterpC-portable.cpp 代码中,当解释invokeMethod时,我发现它只能处理count小于或等于5的情况:
switch (count) {
case 5:
outs[4] = GET_REGISTER(vsrc1 & 0x0f);
case 4:
outs[3] = GET_REGISTER(vdst >> 12);
case 3:
outs[2] = GET_REGISTER((vdst & 0x0f00) >> 8);
case 2:
outs[1] = GET_REGISTER((vdst & 0x00f0) >> 4);
case 1:
outs[0] = GET_REGISTER(vdst & 0x0f);
default:
;
}
那么当参数大小大于 5 的情况下呢?