1
'aload'や 'areturn'のようなJVMの命令で 'a'とは何ですか? 私は彼らが参照に基づいて動作することを知っていますが、なぜ 'rload'、 'rstore'などの代わりに 'aload'、 'astore'などと呼ばれていますか?'aload'や 'areturn'のようなJVM命令で 'a'とは何ですか?
'aload'や 'areturn'のようなJVMの命令で 'a'とは何ですか? 私は彼らが参照に基づいて動作することを知っていますが、なぜ 'rload'、 'rstore'などの代わりに 'aload'、 'astore'などと呼ばれていますか?'aload'や 'areturn'のようなJVM命令で 'a'とは何ですか?
私は歴史的に「」オブジェクト参照がヒープへの単なるアドレスだった時代から「ADDRESS」の略と考えています。
このアイデアのサポートは、Java MEの最初のJava仮想マシンの1つであるSun MicrosystemsのK virtual machineのソースにあります。ソースは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
また、命令 'astore'は(Javaの6まで)タイプ*のRETURNADDRESS *の値を格納することができるという事実と一致して... – Holger