我无法理解invoke-kind / range操作码的结构,
句法
invoke-kind/range {vCCCC .. vNNNN}, meth@BBBB
参数
A: argument word count (8 bits)
B: method reference index (16 bits)
C:first argument register (16 bits)
N = A + C – 1
正如您所看到的,字节码语法中提到了B和C,但未提及A,A参数位于何处以及它的含义是什么?
谢谢.
最佳答案 A包含传递给方法的寄存器数.
因此,如果你有invoke-static / range {v0 .. v7}方法,那么A将是8,C是0.你可以从底部的公式看到N,即传递的最后一个寄存器,被计算为N = AC – 1,因此N = 0 8 – 1 = 7