interpret-run.cc (NEXT_INSN): Advance PC before executing the instruction.

* 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.

From-SVN: r124313
This commit is contained in:
Keith Seitz 2007-05-01 02:50:02 +00:00 committed by Keith Seitz
parent 147199b486
commit 8e48985493
3 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2007-04-30 Keith Seitz <keiths@redhat.com>
* 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.
2007-04-27 Keith Seitz <keiths@redhat.com>
* classpath/lib/gnu/classpath/jdwp/Jdwp.class: Regenerated.

View File

@ -465,7 +465,7 @@ public:
else
pc = *pc_ptr;
return pc;
return pc - 1;
}
};

View File

@ -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)