什么' a'在JVM指令中意味着' aload'或者'回归'?

时间:2017-11-03 13:48:05

标签: jvm terminology

' a'在JVM指令中意味着' aload'或者'回归'? 我知道他们是按照参考文献进行操作的,但是他们为什么要命名为“aload',' astore'”等而不是“rload'”' rstore'等等?

1 个答案:

答案 0 :(得分:6)

我相信历史性的'代表'地址'因为对象引用只是一个普通的地址进入堆中。

对于这个想法的支持可以在Sun Microsystems的K virtual machine来源中找到 - 这是Java ME的第一个Java虚拟机之一。来源可以从CLDC 1.1 RI page下载。

来自kvm/VmCommon/src/bytecodes.c的片段:

#if STANDARDBYTECODES
SELECT(ILOAD)            /* Load integer from local variable */
        unsigned int index = ip[1];
        pushStack(lp[index]);
DONE(2)
#endif

...

#if STANDARDBYTECODES
SELECT(ALOAD)            /* Load address from local variable */
        unsigned int index = ip[1];
        pushStack(lp[index]);
DONE(2)
#endif

here