Android Jellybean上缺少扩展宽度dalvik字节码

Android Jellybean上缺少扩展宽度dalvik字节码,android,android-ndk,bytecode,dalvik,android-source,Android,Android Ndk,Bytecode,Dalvik,Android Source,当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 con

当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的my jellybean版本中,最后一个操作码以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不支持这些新指令吗

此外,我甚至在jellybean中找不到原始的dalvik字节码文档。这是我的dalvik/docs文件夹的目录列表:

$ 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.1r4分支。

在离开谷歌之前,我实现了这些新指令的
dx
部分,但它们的运行时部分还没有完成。我想没有人完成这项工作,只留下了规范文档。

谢谢您的回复。我可以在ICS的libdex/InstrUtils.cpp中看到这些巨型指令已经实现。然而,在JB中,它们不是。。。您认为我可以假设在这两种情况下,仍然不支持具有巨型组件的应用程序吗?是的,这是一个安全的假设。支持在ICS(4.0)中提供,但从后续版本中删除: