Hello everyone! Short version: I'm wondering if someone could clear up for me whether a Dalvik port to ThumbEE would be of any benefit, especially when it comes to startup application performance, before the JIT kicks in.
Longer version: I am writing to get more informed opinions about ThumbEE / Jazelle RCT port of Dalvik. Any thoughts? I got the idea from reading the "Dalvik Porting" guide [1] and the ARM Cortex A8 documentation [2], [3]. The documented instructions do some seemingly useful things [4]: """ New features provided by ThumbEE include automatic null pointer checks on every load and store instruction, an instruction to perform an array bounds check, access to registers r8-r15 (where the Jazelle/DBX Java VM state is held), and special instructions that call a handler. [39] Handlers are small sections of frequently called code, commonly used to implement a feature of a high level language, such as allocating memory for a new object. These changes come from repurposing a handful of opcodes, and knowing the core is in the new ThumbEE mode. """ Apparently, using/licensing Jazelle from ARM used to be a PITA, but I get the impression ARM has learned from its mistakes and now the next- gen Jazelle, Jazelle RCT / ThumbEE, is documented [2] and can be used without licensing. I get the impression that the Snapdragon / ARM chips in the Morotola DROID and Nexus One have Jazelle RCT support, so they could really benefit from ThumbEE instructions. Thoughts, comments, feedback, rebuttals, etc. would all be greatly appreciated. Thank you! [1] http://android.git.kernel.org/?p=platform/dalvik.git;a=blob_plain;f=docs/porting-guide.html;hb=HEAD [2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344c/ch16s04s04.html [3] http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344c/DDI0344C_cortex_a8_r2p0_trm.pdf [4] http://en.wikipedia.org/wiki/ARM_architecture#Thumb_Execution_Environment_.28ThumbEE.29 -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting