aboutsummaryrefslogtreecommitdiff
path: root/libjava/interpret-run.cc
diff options
context:
space:
mode:
authorkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-01 02:50:02 +0000
committerkseitz <kseitz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-01 02:50:02 +0000
commit80934e558cb2f162bb8017d715173cf588679161 (patch)
treee543ef00b8fa24ac5e6abb57bd1297c25a7db7d0 /libjava/interpret-run.cc
parent4537ba413e59a0154592b08d13d4a5ff2e62fb17 (diff)
* interpret-run.cc (NEXT_INSN)[DEBUG]: Advance PC before
executing the instruction. * include/java-interp.h (_Jv_InterpFrame::get_pc): Subtract one insn from the frame's PC. _Jv_InterpMethod::run et al will advance the PC before executing the instruction. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124313 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/interpret-run.cc')
-rw-r--r--libjava/interpret-run.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/interpret-run.cc b/libjava/interpret-run.cc
index f99ff5c706f..f95198186e7 100644
--- a/libjava/interpret-run.cc
+++ b/libjava/interpret-run.cc
@@ -348,15 +348,16 @@ details. */
#define NEXT_INSN \
do \
{ \
+ pc_t insn = pc++; \
if (JVMTI_REQUESTED_EVENT (SingleStep)) \
{ \
JNIEnv *env = _Jv_GetCurrentJNIEnv (); \
jmethodID method = meth->self; \
- jlocation loc = meth->insn_index (pc); \
+ jlocation loc = meth->insn_index (insn); \
_Jv_JVMTI_PostEvent (JVMTI_EVENT_SINGLE_STEP, thread, \
env, method, loc); \
} \
- goto *((pc++)->insn); \
+ goto *(insn->insn); \
} \
while (0)