1Items requiring attention: 2 3(hi) Add gc card marking to aput/iput/sput/new_filled_array 4(hi) Correct stack overflow handling (dvmCleanupStackOverflow takes an 5 additional argument now) 6(hi) WITH_DEBUGGER and WITH_PROFILER are no longer defined (but are 7 assumed to be enabled) 8(hi) Implement OP_DISPATCH_FF for real. (Right now it's treated as 9 an unused instruction.) 10(hi) Rename dvmJitGetCodeAddr to dvmJitGetTraceAddr. 11(hi) Remove references to rGLUE and replace with rSELF 12(hi) Rework interpreter to co-exist the new switching model which 13 elminiates a separate debug interpreter. Needs a dedicated 14 rIBASE register (or alternate switching model with variable 15 handler base). 16(hi) Add dvmReportXXXX()" calls in footer.cpp to support profilers & 17 debuggers. 18(hi) Set self->debugIsMethodEntry in invoke code. 19 20(md) Add implementations for jumbo opcodes (40 instructions) and 21 their volatile variants (13 instructions) 22(md) Correct OP_MONITOR_EXIT (need to adjust PC before throw) 23(md) OP_THROW needs to export the PC 24(md) Use dvmThrowArrayIndexOutOfBoundsException(length, index) for 25 array bounds errors. 26(md) Use dvmThrowClassCastException(actual, desired) for class cast errors. 27(md) Use dvmThrowArrayStoreExceptionIncompatibleElement(actual, desired) 28 for array store errors. 29(md) Use dvmThrowNegativeArraySizeException(len) forarray alloc errors 30(md) Replace any remaining use of dvmThrowException with proper helper function 31 32(lo) Implement OP_BREAKPOINT 33(lo) Implement OP_*_VOLATILE (12 instructions) 34(lo) Implement OP_RETURN_VOID_BARRIER 35(lo) Implement OP_INVOKE_OBJECT_INIT 36(lo) Implement dvmJitScanAllClassPointers 37