summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrmathew <rmathew@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-18 13:59:04 +0000
committerrmathew <rmathew@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-18 13:59:04 +0000
commit45afb71e5e5add2dadf910225eae01fba6db4d6b (patch)
tree05dfa4f5f286086badcd7c22b6c5760c0fc3ec9e
parent674f3b8fc13c3141f3e94ccfe5a63a7859c3f0c9 (diff)
downloadgcc-45afb71e5e5add2dadf910225eae01fba6db4d6b.tar.gz
* prims.cc (_Jv_CreateJavaVM): Install SEGV and FPE handlers,
if desired, before the default class loader is initialised. Call INIT_SEGV only if HANDLE_SEGV is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83348 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/prims.cc14
2 files changed, 15 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 2d0ec4b553d..20b07262023 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,11 @@
2004-06-18 Ranjit Mathew <rmathew@hotmail.com>
+ * prims.cc (_Jv_CreateJavaVM): Install SEGV and FPE handlers,
+ if desired, before the default class loader is initialised.
+ Call INIT_SEGV only if HANDLE_SEGV is defined.
+
+2004-06-18 Ranjit Mathew <rmathew@hotmail.com>
+
* gnu/gcj/runtime/VMClassLoader.java (init): Add extensions
directory only if it actually exists.
diff --git a/libjava/prims.cc b/libjava/prims.cc
index 29f2b2090e8..cbcbc9fbf16 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -954,6 +954,14 @@ _Jv_CreateJavaVM (void* /*vm_args*/)
_Jv_InitGC ();
_Jv_InitializeSyncMutex ();
+#ifdef HANDLE_SEGV
+ INIT_SEGV;
+#endif
+
+#ifdef HANDLE_FPE
+ INIT_FPE;
+#endif
+
/* Initialize Utf8 constants declared in jvm.h. */
void_signature = _Jv_makeUtf8Const ("()V", 3);
clinit_name = _Jv_makeUtf8Const ("<clinit>", 8);
@@ -980,15 +988,11 @@ _Jv_CreateJavaVM (void* /*vm_args*/)
// initialization of ClassLoader before we start the initialization
// of VMClassLoader.
_Jv_InitClass (&java::lang::ClassLoader::class$);
+
// Once the bootstrap loader is in place, change it into a kind of
// system loader, by having it read the class path.
gnu::gcj::runtime::VMClassLoader::initialize();
- INIT_SEGV;
-#ifdef HANDLE_FPE
- INIT_FPE;
-#endif
-
no_memory = new java::lang::OutOfMemoryError;
java::lang::VMThrowable::trace_enabled = 1;