1 Items 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