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>
* include/win32-threads.h (_Jv_Thread_t): Explicitly

View File

@ -1,5 +1,6 @@
/* 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.
@ -76,9 +77,6 @@ final class VMThrowable
*/
native StackTraceElement[] getStackTrace(Throwable t);
// Setting this flag to false prevents fillInStackTrace() from running.
static boolean trace_enabled = true;
// Native stack data.
private RawDataManaged data;
}

View File

@ -1,6 +1,6 @@
// 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.
@ -27,7 +27,7 @@ java::lang::VMThrowable::fillInStackTrace (java::lang::Throwable *)
using namespace java::lang;
// Don't trace stack during initialization of the runtime.
if (! trace_enabled)
if (! gcj::runtimeInitialized)
return NULL;
_Jv_StackTrace *trace = _Jv_StackTrace::GetStackTrace ();

View File

@ -56,7 +56,6 @@ details. */
#include <java/lang/NullPointerException.h>
#include <java/lang/OutOfMemoryError.h>
#include <java/lang/System.h>
#include <java/lang/VMThrowable.h>
#include <java/lang/VMClassLoader.h>
#include <java/lang/reflect/Modifier.h>
#include <java/io/PrintStream.h>
@ -1404,8 +1403,6 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
if (runtimeInitialized)
return -1;
runtimeInitialized = true;
jint result = parse_init_args (vm_args);
if (result < 0)
return -1;
@ -1447,10 +1444,6 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
_Jv_InitPrimClass (&_Jv_doubleClass, "double", 'D', 8);
_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
// initialization. In particular we want to start the
// initialization of ClassLoader before we start the initialization
@ -1465,8 +1458,6 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
no_memory = new java::lang::OutOfMemoryError;
java::lang::VMThrowable::trace_enabled = 1;
#ifdef USE_LTDL
LTDL_SET_PRELOADED_SYMBOLS ();
#endif
@ -1489,6 +1480,8 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args)
{
}
runtimeInitialized = true;
return 0;
}