diff options
author | Elliott Hughes <enh@google.com> | 2012-04-30 22:15:31 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2012-04-30 22:15:31 -0700 |
commit | c73a456cf9170d3838a626502c5fad17ae65737c (patch) | |
tree | 6cbbfb3755c18a0c0f3b9c2819fde210c35b9f6c /vm/mterp | |
parent | 37c16f81e3c170c4e54f62c1bd1c0b00d4e9b774 (diff) | |
parent | 4c5f9711c7ade276a93939ccd1cddb1d68092f33 (diff) | |
download | android_dalvik-c73a456cf9170d3838a626502c5fad17ae65737c.tar.gz android_dalvik-c73a456cf9170d3838a626502c5fad17ae65737c.tar.bz2 android_dalvik-c73a456cf9170d3838a626502c5fad17ae65737c.zip |
resolved conflicts for merge of 4c5f9711 to jb-dev-plus-aosp
Change-Id: I4c724c3df990a5abf42cec748bbbba25ee5bc112
Diffstat (limited to 'vm/mterp')
-rw-r--r-- | vm/mterp/Mterp.h | 10 | ||||
-rw-r--r-- | vm/mterp/cstubs/entry.cpp | 12 | ||||
-rw-r--r-- | vm/mterp/cstubs/stubdefs.cpp | 4 | ||||
-rw-r--r-- | vm/mterp/out/InterpC-allstubs.cpp | 16 | ||||
-rw-r--r-- | vm/mterp/out/InterpC-armv5te-vfp.cpp | 4 | ||||
-rw-r--r-- | vm/mterp/out/InterpC-armv5te.cpp | 4 | ||||
-rw-r--r-- | vm/mterp/out/InterpC-armv7-a-neon.cpp | 4 | ||||
-rw-r--r-- | vm/mterp/out/InterpC-armv7-a.cpp | 4 | ||||
-rw-r--r-- | vm/mterp/out/InterpC-x86-atom.cpp | 4 | ||||
-rw-r--r-- | vm/mterp/out/InterpC-x86.cpp | 4 |
10 files changed, 38 insertions, 28 deletions
diff --git a/vm/mterp/Mterp.h b/vm/mterp/Mterp.h index b27e4f7a7..6762f6726 100644 --- a/vm/mterp/Mterp.h +++ b/vm/mterp/Mterp.h @@ -35,15 +35,9 @@ extern "C" bool dvmCheckAsmConstants(void); /* * Local entry and exit points. The platform-specific implementation must * provide these two. - * - * dvmMterpStdRun() returns the "changeInterp" argument from dvmMterpStdBail(), - * indicating whether we want to bail out of the interpreter or just switch - * between "standard" and "debug" mode. - * - * The "mterp" interpreter is always "standard". */ -extern "C" bool dvmMterpStdRun(Thread* self); -extern "C" void dvmMterpStdBail(Thread* self, bool changeInterp); +extern "C" void dvmMterpStdRun(Thread* self); +extern "C" void dvmMterpStdBail(Thread* self); /* * Helper for common_printMethod(), invoked from the assembly diff --git a/vm/mterp/cstubs/entry.cpp b/vm/mterp/cstubs/entry.cpp index 350bd8603..90b6ceab2 100644 --- a/vm/mterp/cstubs/entry.cpp +++ b/vm/mterp/cstubs/entry.cpp @@ -2,7 +2,7 @@ * Handler function table, one entry per opcode. */ #undef H -#define H(_op) dvmMterp_##_op +#define H(_op) (const void*) dvmMterp_##_op DEFINE_GOTO_TABLE(gDvmMterpHandlers) #undef H @@ -21,12 +21,12 @@ void dvmMterpStdRun(Thread* self) { jmp_buf jmpBuf; - self->bailPtr = &jmpBuf; + self->interpSave.bailPtr = &jmpBuf; /* We exit via a longjmp */ if (setjmp(jmpBuf)) { LOGVV("mterp threadid=%d returning", dvmThreadSelf()->threadId); - return + return; } /* run until somebody longjmp()s out */ @@ -40,8 +40,8 @@ void dvmMterpStdRun(Thread* self) * FINISH code. For allstubs, we must do an explicit check * in the interpretation loop. */ - if (self-interpBreak.ctl.subMode) { - dvmCheckBefore(pc, fp, self, curMethod); + if (self->interpBreak.ctl.subMode) { + dvmCheckBefore(pc, fp, self); } Handler handler = (Handler) gDvmMterpHandlers[inst & 0xff]; (void) gDvmMterpHandlerNames; /* avoid gcc "defined but not used" */ @@ -56,6 +56,6 @@ void dvmMterpStdRun(Thread* self) */ void dvmMterpStdBail(Thread* self) { - jmp_buf* pJmpBuf = self->bailPtr; + jmp_buf* pJmpBuf = (jmp_buf*) self->interpSave.bailPtr; longjmp(*pJmpBuf, 1); } diff --git a/vm/mterp/cstubs/stubdefs.cpp b/vm/mterp/cstubs/stubdefs.cpp index ed0e4dab5..58b4559d4 100644 --- a/vm/mterp/cstubs/stubdefs.cpp +++ b/vm/mterp/cstubs/stubdefs.cpp @@ -82,6 +82,8 @@ } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -118,7 +120,7 @@ * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. diff --git a/vm/mterp/out/InterpC-allstubs.cpp b/vm/mterp/out/InterpC-allstubs.cpp index 0fcee851b..bd11adef6 100644 --- a/vm/mterp/out/InterpC-allstubs.cpp +++ b/vm/mterp/out/InterpC-allstubs.cpp @@ -452,6 +452,8 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -488,7 +490,7 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. @@ -3015,7 +3017,7 @@ OP_END * Handler function table, one entry per opcode. */ #undef H -#define H(_op) dvmMterp_##_op +#define H(_op) (const void*) dvmMterp_##_op DEFINE_GOTO_TABLE(gDvmMterpHandlers) #undef H @@ -3034,12 +3036,12 @@ void dvmMterpStdRun(Thread* self) { jmp_buf jmpBuf; - self->bailPtr = &jmpBuf; + self->interpSave.bailPtr = &jmpBuf; /* We exit via a longjmp */ if (setjmp(jmpBuf)) { LOGVV("mterp threadid=%d returning", dvmThreadSelf()->threadId); - return + return; } /* run until somebody longjmp()s out */ @@ -3053,8 +3055,8 @@ void dvmMterpStdRun(Thread* self) * FINISH code. For allstubs, we must do an explicit check * in the interpretation loop. */ - if (self-interpBreak.ctl.subMode) { - dvmCheckBefore(pc, fp, self, curMethod); + if (self->interpBreak.ctl.subMode) { + dvmCheckBefore(pc, fp, self); } Handler handler = (Handler) gDvmMterpHandlers[inst & 0xff]; (void) gDvmMterpHandlerNames; /* avoid gcc "defined but not used" */ @@ -3069,7 +3071,7 @@ void dvmMterpStdRun(Thread* self) */ void dvmMterpStdBail(Thread* self) { - jmp_buf* pJmpBuf = self->bailPtr; + jmp_buf* pJmpBuf = (jmp_buf*) self->interpSave.bailPtr; longjmp(*pJmpBuf, 1); } diff --git a/vm/mterp/out/InterpC-armv5te-vfp.cpp b/vm/mterp/out/InterpC-armv5te-vfp.cpp index dde946398..660721f2e 100644 --- a/vm/mterp/out/InterpC-armv5te-vfp.cpp +++ b/vm/mterp/out/InterpC-armv5te-vfp.cpp @@ -452,6 +452,8 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -488,7 +490,7 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. diff --git a/vm/mterp/out/InterpC-armv5te.cpp b/vm/mterp/out/InterpC-armv5te.cpp index 13c243bd5..ff279cc64 100644 --- a/vm/mterp/out/InterpC-armv5te.cpp +++ b/vm/mterp/out/InterpC-armv5te.cpp @@ -452,6 +452,8 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -488,7 +490,7 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. diff --git a/vm/mterp/out/InterpC-armv7-a-neon.cpp b/vm/mterp/out/InterpC-armv7-a-neon.cpp index ca81a08cc..a799bbaf5 100644 --- a/vm/mterp/out/InterpC-armv7-a-neon.cpp +++ b/vm/mterp/out/InterpC-armv7-a-neon.cpp @@ -452,6 +452,8 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -488,7 +490,7 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. diff --git a/vm/mterp/out/InterpC-armv7-a.cpp b/vm/mterp/out/InterpC-armv7-a.cpp index d90cbdcb1..9d523e224 100644 --- a/vm/mterp/out/InterpC-armv7-a.cpp +++ b/vm/mterp/out/InterpC-armv7-a.cpp @@ -452,6 +452,8 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -488,7 +490,7 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. diff --git a/vm/mterp/out/InterpC-x86-atom.cpp b/vm/mterp/out/InterpC-x86-atom.cpp index 1083f8b6c..a93a7edaa 100644 --- a/vm/mterp/out/InterpC-x86-atom.cpp +++ b/vm/mterp/out/InterpC-x86-atom.cpp @@ -452,6 +452,8 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -488,7 +490,7 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. diff --git a/vm/mterp/out/InterpC-x86.cpp b/vm/mterp/out/InterpC-x86.cpp index 8d77b941c..035f1012a 100644 --- a/vm/mterp/out/InterpC-x86.cpp +++ b/vm/mterp/out/InterpC-x86.cpp @@ -452,6 +452,8 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) } #endif +#define FINISH_BKPT(_opcode) /* FIXME? */ +#define DISPATCH_EXTENDED(_opcode) /* FIXME? */ /* * The "goto label" statements turn into function calls followed by @@ -488,7 +490,7 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc) * As a special case, "goto bail" turns into a longjmp. */ #define GOTO_bail() \ - dvmMterpStdBail(self, false); + dvmMterpStdBail(self) /* * Periodically check for thread suspension. |