3

ICSが発表されたとき、いくつかの新しい拡張幅バイトコードが導入されました。これらのほとんどは、ジャンボIDをサポートするための指示用でした。ics / dalvik / opcode-gen/bytecode.txtから抜粋したこれらの新しい手順の一部を次に示します。

#
# Extended-width opcodes
#

op 00ff const-class/jumbo           41c  y type-ref      continue|throw
op 01ff check-cast/jumbo            41c  n type-ref      continue|throw
op 02ff instance-of/jumbo           52c  y type-ref      continue|throw
op 03ff new-instance/jumbo          41c  y type-ref      continue|throw
op 04ff new-array/jumbo             52c  y type-ref      continue|throw
op 05ff filled-new-array/jumbo      5rc  n type-ref      continue|throw
op 06ff iget/jumbo                  52c  y field-ref     continue|throw
...

ただし、JBコードでは、これらの新しいバイトコードへの参照が見つかりません。私のジェリービーンズバージョンのbytecodes.txtでは、最後のオペコードは0xfeで終わります。

op   fc +iput-object-volatile       22c  n field-ref     optimized|continue|throw
op   fd +sget-object-volatile       21c  y field-ref     optimized|continue|throw
op   fe +sput-object-volatile       21c  n field-ref     optimized|continue|throw

# unused: op ff

これらの新しい命令はJellyBeanでサポートされていませんか?

また、ジェリービーンズで元のdalvikバイトコードのドキュメントを見つけることさえできないようです。これは私のdalvik/docsフォルダのdirリストです:

$ ls -a dalvik/docs | cat
.
..
dalvik-constraints.css
dalvik-constraints.html
debugger.html
debugmon.html
dexopt.html
embedded-vm-control.html
heap-profiling.html
hello-world.html
java-bytecode.css
java-bytecode.html
java-constraints.css
java-constraints.html
porting-guide.html
porting-proto.c.txt
prettify.css
prettify.js
verifier.html

または、たぶん、間違ったブランチからダウンロードしただけですか?私はjb-4.1.1_r4ブランチを使用しています。

4

1 に答える 1

8

dx私はGoogleを離れる前にこれらの新しい命令の側面を実装しましたが、それらの実行時の側面はまだ実行されていませんでした。誰も作業を終えたことがないと思いますが、スペックドキュメントはそのままにしておきました。

于 2012-09-10T23:57:59.867 に答える