Various improvements to interpreter.
- Created separate Next_xxx methods to get the next instruction to
avoid having to look up the size based on the opcode.
- Moved exception handling to after throwing instructions only.
- Added a test of all thread flags before checking for suspend during
the interpreter execute loop.
- Made it unlikely that instrumentation has dex pc listeners for
DexPcMovedEvent.
Change-Id: I88afc98cf42f2e36c747582df8e74669d24ef864
diff --git a/src/thread.h b/src/thread.h
index f642d56..24987cd 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -563,6 +563,10 @@
return (state_and_flags_.as_struct.flags & flag) != 0;
}
+ bool TestAllFlags() const {
+ return (state_and_flags_.as_struct.flags != 0);
+ }
+
void AtomicSetFlag(ThreadFlag flag);
void AtomicClearFlag(ThreadFlag flag);