diff options
Diffstat (limited to 'vm/mterp/common/asm-constants.h')
-rw-r--r-- | vm/mterp/common/asm-constants.h | 48 |
1 files changed, 46 insertions, 2 deletions
diff --git a/vm/mterp/common/asm-constants.h b/vm/mterp/common/asm-constants.h index 73292a9f2..b4bb1c244 100644 --- a/vm/mterp/common/asm-constants.h +++ b/vm/mterp/common/asm-constants.h @@ -101,14 +101,42 @@ MTERP_OFFSET(offGlue_pSelfSuspendCount, MterpGlue, pSelfSuspendCount, 36) MTERP_OFFSET(offGlue_pDebuggerActive, MterpGlue, pDebuggerActive, 40) MTERP_OFFSET(offGlue_pActiveProfilers, MterpGlue, pActiveProfilers, 44) MTERP_OFFSET(offGlue_entryPoint, MterpGlue, entryPoint, 48) +#if defined(WITH_JIT) +MTERP_OFFSET(offGlue_pJitTable, MterpGlue, pJitTable, 56) +MTERP_OFFSET(offGlue_pJitProfTable, MterpGlue, pJitProfTable, 60) +MTERP_OFFSET(offGlue_jitState, MterpGlue, jitState, 64) +MTERP_OFFSET(offGlue_jitResume, MterpGlue, jitResume, 68) +MTERP_OFFSET(offGlue_jitResumePC, MterpGlue, jitResumePC, 72) +#endif #elif defined(WITH_DEBUGGER) MTERP_OFFSET(offGlue_pDebuggerActive, MterpGlue, pDebuggerActive, 40) MTERP_OFFSET(offGlue_entryPoint, MterpGlue, entryPoint, 44) +#if defined(WITH_JIT) +MTERP_OFFSET(offGlue_pJitTable, MterpGlue, pJitTable, 52) +MTERP_OFFSET(offGlue_pJitProfTable, MterpGlue, pJitProfTable, 56) +MTERP_OFFSET(offGlue_jitState, MterpGlue, jitState, 60) +MTERP_OFFSET(offGlue_jitResume, MterpGlue, jitResume, 64) +MTERP_OFFSET(offGlue_jitResumePC, MterpGlue, jitResumePC, 68) +#endif #elif defined(WITH_PROFILER) MTERP_OFFSET(offGlue_pActiveProfilers, MterpGlue, pActiveProfilers, 40) MTERP_OFFSET(offGlue_entryPoint, MterpGlue, entryPoint, 44) +#if defined(WITH_JIT) +MTERP_OFFSET(offGlue_pJitTable, MterpGlue, pJitTable, 52) +MTERP_OFFSET(offGlue_pJitProfTable, MterpGlue, pJitProfTable, 56) +MTERP_OFFSET(offGlue_jitState, MterpGlue, jitState, 60) +MTERP_OFFSET(offGlue_jitResume, MterpGlue, jitResume, 64) +MTERP_OFFSET(offGlue_jitResumePC, MterpGlue, jitResumePC, 68) +#endif #else MTERP_OFFSET(offGlue_entryPoint, MterpGlue, entryPoint, 40) +#if defined(WITH_JIT) +MTERP_OFFSET(offGlue_pJitTable, MterpGlue, pJitTable, 48) +MTERP_OFFSET(offGlue_pJitProfTable, MterpGlue, pJitProfTable, 52) +MTERP_OFFSET(offGlue_jitState, MterpGlue, jitState, 56) +MTERP_OFFSET(offGlue_jitResume, MterpGlue, jitResume, 60) +MTERP_OFFSET(offGlue_jitResumePC, MterpGlue, jitResumePC, 64) +#endif #endif /* make sure all JValue union members are stored at the same offset */ MTERP_OFFSET(offGlue_retval_z, MterpGlue, retval.z, 8) @@ -131,14 +159,16 @@ MTERP_OFFSET(offStackSaveArea_savedPc, StackSaveArea, savedPc, 8) MTERP_OFFSET(offStackSaveArea_method, StackSaveArea, method, 12) MTERP_OFFSET(offStackSaveArea_currentPc, StackSaveArea, xtra.currentPc, 16) MTERP_OFFSET(offStackSaveArea_localRefTop, StackSaveArea, xtra.localRefTop, 16) -MTERP_SIZEOF(sizeofStackSaveArea, StackSaveArea, 20) +MTERP_OFFSET(offStackSaveArea_returnAddr, StackSaveArea, returnAddr, 20) +MTERP_SIZEOF(sizeofStackSaveArea, StackSaveArea, 24) #else MTERP_OFFSET(offStackSaveArea_prevFrame, StackSaveArea, prevFrame, 0) MTERP_OFFSET(offStackSaveArea_savedPc, StackSaveArea, savedPc, 4) MTERP_OFFSET(offStackSaveArea_method, StackSaveArea, method, 8) MTERP_OFFSET(offStackSaveArea_currentPc, StackSaveArea, xtra.currentPc, 12) MTERP_OFFSET(offStackSaveArea_localRefTop, StackSaveArea, xtra.localRefTop, 12) -MTERP_SIZEOF(sizeofStackSaveArea, StackSaveArea, 16) +MTERP_OFFSET(offStackSaveArea_returnAddr, StackSaveArea, returnAddr, 16) +MTERP_SIZEOF(sizeofStackSaveArea, StackSaveArea, 20) #endif /* InstField fields */ @@ -200,6 +230,20 @@ MTERP_SIZEOF(sizeofClassStatus, InterpEntry, MTERP_SMALL_ENUM) MTERP_CONSTANT(kInterpEntryInstr, 0) MTERP_CONSTANT(kInterpEntryReturn, 1) MTERP_CONSTANT(kInterpEntryThrow, 2) +#if defined(WITH_JIT) +MTERP_CONSTANT(kInterpEntryResume, 3) +#endif + +#if defined(WITH_JIT) +MTERP_CONSTANT(kJitOff, 0) +MTERP_CONSTANT(kJitNormal, 1) +MTERP_CONSTANT(kJitTSelectRequest, 2) +MTERP_CONSTANT(kJitTSelect, 3) +MTERP_CONSTANT(kJitTSelectAbort, 4) +MTERP_CONSTANT(kJitTSelectEnd, 5) +MTERP_CONSTANT(kJitSingleStep, 6) +MTERP_CONSTANT(kJitSingleStepEnd, 7) +#endif /* ClassStatus enumeration */ MTERP_SIZEOF(sizeofClassStatus, ClassStatus, MTERP_SMALL_ENUM) |