prims.cc (_Jv_CreateJavaVM): Move setting runtimeInitialized from the start to the end of the function.

2006-07-28  Gary Benson  <gbenson@redhat.com>

	* prims.cc (_Jv_CreateJavaVM): Move setting runtimeInitialized
	from the start to the end of the function.  Remove references
	to VMThrowable.trace_enabled.
	* java/lang/natVMThrowable.cc (fillInStackTrace): Use
	runtimeInitialized rather than trace_enabled to decide
	whether to inhibit stack trace generation.
	* java/lang/VMThrowable.java (trace_enabled): Removed.

From-SVN: r115791
This commit is contained in:
Gary Benson 2006-07-28 07:40:17 +00:00 committed by Gary Benson
parent b82f782bfb
commit 8d0941a9c8
4 changed files with 16 additions and 15 deletions

View File

@ -1,3 +1,13 @@
2006-07-28 Gary Benson <gbenson@redhat.com>
* prims.cc (_Jv_CreateJavaVM): Move setting runtimeInitialized
from the start to the end of the function. Remove references
to VMThrowable.trace_enabled.
* java/lang/natVMThrowable.cc (fillInStackTrace): Use
runtimeInitialized rather than trace_enabled to decide
whether to inhibit stack trace generation.
* java/lang/VMThrowable.java (trace_enabled): Removed.
2006-07-23 Mohan Embar <gnustuff@thisiscool.com> 2006-07-23 Mohan Embar <gnustuff@thisiscool.com>
* include/win32-threads.h (_Jv_Thread_t): Explicitly * include/win32-threads.h (_Jv_Thread_t): Explicitly

View File

@ -1,5 +1,6 @@
/* java.lang.VMThrowable -- VM support methods for Throwable. /* java.lang.VMThrowable -- VM support methods for Throwable.
Copyright (C) 1998, 1999, 2002, 2004, 2005 Free Software Foundation, Inc. Copyright (C) 1998, 1999, 2002, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -76,9 +77,6 @@ final class VMThrowable
*/ */
native StackTraceElement[] getStackTrace(Throwable t); native StackTraceElement[] getStackTrace(Throwable t);
// Setting this flag to false prevents fillInStackTrace() from running.
static boolean trace_enabled = true;
// Native stack data. // Native stack data.
private RawDataManaged data; private RawDataManaged data;
} }

View File

@ -1,6 +1,6 @@
// natVMThrowable.cc - Native part of VMThrowable class. // natVMThrowable.cc - Native part of VMThrowable class.
/* Copyright (C) 2003 Free Software Foundation /* Copyright (C) 2003, 2006 Free Software Foundation
This file is part of libgcj. This file is part of libgcj.
@ -27,7 +27,7 @@ java::lang::VMThrowable::fillInStackTrace (java::lang::Throwable *)
using namespace java::lang; using namespace java::lang;
// Don't trace stack during initialization of the runtime. // Don't trace stack during initialization of the runtime.
if (! trace_enabled) if (! gcj::runtimeInitialized)
return NULL; return NULL;
_Jv_StackTrace *trace = _Jv_StackTrace::GetStackTrace (); _Jv_StackTrace *trace = _Jv_StackTrace::GetStackTrace ();

View File

@ -56,7 +56,6 @@ details. */
#include <java/lang/NullPointerException.h> #include <java/lang/NullPointerException.h>
#include <java/lang/OutOfMemoryError.h> #include <java/lang/OutOfMemoryError.h>
#include <java/lang/System.h> #include <java/lang/System.h>
#include <java/lang/VMThrowable.h>
#include <java/lang/VMClassLoader.h> #include <java/lang/VMClassLoader.h>
#include <java/lang/reflect/Modifier.h> #include <java/lang/reflect/Modifier.h>
#include <java/io/PrintStream.h> #include <java/io/PrintStream.h>
@ -1404,8 +1403,6 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
if (runtimeInitialized) if (runtimeInitialized)
return -1; return -1;
runtimeInitialized = true;
jint result = parse_init_args (vm_args); jint result = parse_init_args (vm_args);
if (result < 0) if (result < 0)
return -1; return -1;
@ -1447,10 +1444,6 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
_Jv_InitPrimClass (&_Jv_doubleClass, "double", 'D', 8); _Jv_InitPrimClass (&_Jv_doubleClass, "double", 'D', 8);
_Jv_InitPrimClass (&_Jv_voidClass, "void", 'V', 0); _Jv_InitPrimClass (&_Jv_voidClass, "void", 'V', 0);
// Turn stack trace generation off while creating exception objects.
_Jv_InitClass (&java::lang::VMThrowable::class$);
java::lang::VMThrowable::trace_enabled = 0;
// We have to initialize this fairly early, to avoid circular class // We have to initialize this fairly early, to avoid circular class
// initialization. In particular we want to start the // initialization. In particular we want to start the
// initialization of ClassLoader before we start the initialization // initialization of ClassLoader before we start the initialization
@ -1465,8 +1458,6 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
no_memory = new java::lang::OutOfMemoryError; no_memory = new java::lang::OutOfMemoryError;
java::lang::VMThrowable::trace_enabled = 1;
#ifdef USE_LTDL #ifdef USE_LTDL
LTDL_SET_PRELOADED_SYMBOLS (); LTDL_SET_PRELOADED_SYMBOLS ();
#endif #endif
@ -1489,6 +1480,8 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
{ {
} }
runtimeInitialized = true;
return 0; return 0;
} }