2007-05-03 Keith Seitz <keiths@redhat.com>
+ * interpret.cc: Don't include ExceptionEvent.h.
+ * gnu/gcj/jvmti/natExceptionEvent.cc: Remove.
+ * Makefile.am (nat_source_files): Remove natExceptionEvent.cc.
+ * Makefile.in: Regenerated.
+
+2007-05-03 Keith Seitz <keiths@redhat.com>
+
* include/jvmti-int.h (_Jv_ReportJVMTIExceptionThrow):
Declare.
* interpret.cc (_Jv_ReportJVMTIExceptionThrow): New function.
gnu/gcj/io/natSimpleSHSStream.cc \
gnu/gcj/io/shs.cc \
gnu/gcj/jvmti/natBreakpoint.cc \
-gnu/gcj/jvmti/natExceptionEvent.cc \
gnu/gcj/runtime/natFinalizerThread.cc \
gnu/gcj/runtime/natSharedLibLoader.cc \
gnu/gcj/runtime/natSystemClassLoader.cc \
gnu/gcj/convert/natOutput_SJIS.cc \
gnu/gcj/io/natSimpleSHSStream.cc gnu/gcj/io/shs.cc \
gnu/gcj/jvmti/natBreakpoint.cc \
- gnu/gcj/jvmti/natExceptionEvent.cc \
gnu/gcj/runtime/natFinalizerThread.cc \
gnu/gcj/runtime/natSharedLibLoader.cc \
gnu/gcj/runtime/natSystemClassLoader.cc \
gnu/gcj/convert/natOutput_SJIS.lo \
gnu/gcj/io/natSimpleSHSStream.lo gnu/gcj/io/shs.lo \
gnu/gcj/jvmti/natBreakpoint.lo \
- gnu/gcj/jvmti/natExceptionEvent.lo \
gnu/gcj/runtime/natFinalizerThread.lo \
gnu/gcj/runtime/natSharedLibLoader.lo \
gnu/gcj/runtime/natSystemClassLoader.lo \
gnu/gcj/io/natSimpleSHSStream.cc \
gnu/gcj/io/shs.cc \
gnu/gcj/jvmti/natBreakpoint.cc \
-gnu/gcj/jvmti/natExceptionEvent.cc \
gnu/gcj/runtime/natFinalizerThread.cc \
gnu/gcj/runtime/natSharedLibLoader.cc \
gnu/gcj/runtime/natSystemClassLoader.cc \
@: > gnu/gcj/jvmti/$(DEPDIR)/$(am__dirstamp)
gnu/gcj/jvmti/natBreakpoint.lo: gnu/gcj/jvmti/$(am__dirstamp) \
gnu/gcj/jvmti/$(DEPDIR)/$(am__dirstamp)
-gnu/gcj/jvmti/natExceptionEvent.lo: gnu/gcj/jvmti/$(am__dirstamp) \
- gnu/gcj/jvmti/$(DEPDIR)/$(am__dirstamp)
gnu/gcj/runtime/$(am__dirstamp):
@$(mkdir_p) gnu/gcj/runtime
@: > gnu/gcj/runtime/$(am__dirstamp)
-rm -f gnu/gcj/io/shs.lo
-rm -f gnu/gcj/jvmti/natBreakpoint.$(OBJEXT)
-rm -f gnu/gcj/jvmti/natBreakpoint.lo
- -rm -f gnu/gcj/jvmti/natExceptionEvent.$(OBJEXT)
- -rm -f gnu/gcj/jvmti/natExceptionEvent.lo
-rm -f gnu/gcj/natCore.$(OBJEXT)
-rm -f gnu/gcj/natCore.lo
-rm -f gnu/gcj/runtime/natFinalizerThread.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/io/$(DEPDIR)/natSimpleSHSStream.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/io/$(DEPDIR)/shs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/jvmti/$(DEPDIR)/natBreakpoint.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/jvmti/$(DEPDIR)/natExceptionEvent.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natFinalizerThread.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natSharedLibLoader.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natStringBuffer.Plo@am__quote@
+++ /dev/null
-// natExceptionEvent.cc - C++ code for JVMTI Exception events
-
-/* Copyright (C) 2007 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-#include <gcj/cni.h>
-#include <gcj/method.h>
-#include <java-interp.h>
-#include <java-insns.h>
-#include <java-assert.h>
-#include <jvmti.h>
-#include <jvmti-int.h>
-
-#include <gnu/gcj/jvmti/ExceptionEvent.h>
-
-void
-gnu::gcj::jvmti::ExceptionEvent::sendEvent ()
-{
- // Check if the exception is caught somewhere in the interpreted call stack
- if (_catchMeth == 0 || _catchLoc == 0)
- checkCatch ();
-
- JNIEnv *jni = _Jv_GetCurrentJNIEnv ();
-
- _Jv_JVMTI_PostEvent (JVMTI_EVENT_EXCEPTION, _thread, jni,
- reinterpret_cast<jmethodID> (_throwMeth),
- static_cast<jlocation> (_throwLoc), _ex,
- reinterpret_cast<jmethodID> (_catchMeth),
- static_cast<jlocation> (_catchLoc));
-}
-
-// This method looks up the interpreted call stack to see if the exception will
-// eventually be caught by some java method.
-void
-gnu::gcj::jvmti::ExceptionEvent::checkCatch ()
-{
- _Jv_InterpFrame *frame
- = reinterpret_cast<_Jv_InterpFrame *> (_thread->interp_frame);
-
- while ((frame = frame->next_interp))
- {
- _Jv_InterpMethod *meth
- = reinterpret_cast<_Jv_InterpMethod *> (frame->self);
- pc_t pc = frame->pc;
-
- if (meth->check_handler (&pc, meth, _ex))
- {
- _catchMeth = reinterpret_cast<jlong> (meth->get_method ());
- _catchLoc = meth->insn_index (pc);
- break;
- }
- }
-}
#include <gnu/gcj/jvmti/Breakpoint.h>
#include <gnu/gcj/jvmti/BreakpointManager.h>
-#include <gnu/gcj/jvmti/ExceptionEvent.h>
#ifdef INTERPRETER