diff options
author | Keith Seitz <keiths@redhat.com> | 2007-05-01 02:50:02 +0000 |
---|---|---|
committer | Keith Seitz <kseitz@gcc.gnu.org> | 2007-05-01 02:50:02 +0000 |
commit | 8e48985493cd4ce6ce910dc03a6cda69365ef73a (patch) | |
tree | e543ef00b8fa24ac5e6abb57bd1297c25a7db7d0 /libjava/interpret-run.cc | |
parent | 147199b48699eae6c92a78b7475cb38574804381 (diff) | |
download | gcc-8e48985493cd4ce6ce910dc03a6cda69365ef73a.zip gcc-8e48985493cd4ce6ce910dc03a6cda69365ef73a.tar.gz gcc-8e48985493cd4ce6ce910dc03a6cda69365ef73a.tar.bz2 |
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
Diffstat (limited to 'libjava/interpret-run.cc')
-rw-r--r-- | libjava/interpret-run.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/interpret-run.cc b/libjava/interpret-run.cc index f99ff5c..f951981 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) |