gpt4 book ai didi

jvm - 'a' 在 'aload' 或 'areturn' 等 JVM 指令中是什么意思?

转载 作者:行者123 更新时间:2023-12-02 08:10:57 24 4
gpt4 key购买 nike

在诸如“加载”或“返回”之类的 JVM 指令中,“a”是什么意思?我知道它们对引用进行操作,但为什么将它们命名为 'aload'、'astore' 等而不是 'reload'、'astore' 等?

最佳答案

我相信历史上“a”代表“地址”,因为对象引用只是堆中的普通地址。

可以在 K virtual machine 的来源中找到对这个想法的支持。 Sun Microsystems - 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

关于jvm - 'a' 在 'aload' 或 'areturn' 等 JVM 指令中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47097339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com