blob: 228d3e2c93508e1b4889259593029c501176d0eb [file] [log] [blame]
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