文本文件  |  37行  |  1.63 KB

Items requiring attention:

(hi) Add gc card marking to aput/iput/sput/new_filled_array
(hi) Correct stack overflow handling (dvmCleanupStackOverflow takes an
     additional argument now)
(hi) WITH_DEBUGGER and WITH_PROFILER are no longer defined (but are
     assumed to be enabled)
(hi) Implement OP_DISPATCH_FF for real. (Right now it's treated as
     an unused instruction.)
(hi) Rename dvmJitGetCodeAddr to dvmJitGetTraceAddr.
(hi) Remove references to rGLUE and replace with rSELF
(hi) Rework interpreter to co-exist the new switching model which
     elminiates a separate debug interpreter.  Needs a dedicated
     rIBASE register (or alternate switching model with variable
     handler base).
(hi) Add dvmReportXXXX()" calls in footer.cpp to support profilers &
     debuggers.
(hi) Set self->debugIsMethodEntry in invoke code.

(md) Add implementations for jumbo opcodes (40 instructions) and
     their volatile variants (13 instructions)
(md) Correct OP_MONITOR_EXIT (need to adjust PC before throw)
(md) OP_THROW needs to export the PC
(md) Use dvmThrowArrayIndexOutOfBoundsException(length, index) for
     array bounds errors.
(md) Use dvmThrowClassCastException(actual, desired) for class cast errors.
(md) Use dvmThrowArrayStoreExceptionIncompatibleElement(actual, desired)
     for array store errors.
(md) Use dvmThrowNegativeArraySizeException(len) forarray alloc errors
(md) Replace any remaining use of dvmThrowException with proper helper function

(lo) Implement OP_BREAKPOINT
(lo) Implement OP_*_VOLATILE (12 instructions)
(lo) Implement OP_RETURN_VOID_BARRIER
(lo) Implement OP_INVOKE_OBJECT_INIT
(lo) Implement dvmJitScanAllClassPointers