aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2006-04-18 13:21:47 +0000
committerAndrew Haley <aph@redhat.com>2006-04-18 13:21:47 +0000
commita50753f9b1fc8a511815dc9952813bb88b5285a0 (patch)
treeef6dc4a723e372808d8a9cb75528b609149fb580
parent6e895562c923540f699a74bd44d540a178d101ad (diff)
2006-04-18 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (forName): Pass __PRETTY_FUNCTION__ to GetStackTrace(). * java/lang/natRuntime.cc (_load): Likewise. * java/lang/reflect/natArray.cc (newInstance): Likewise. * java/lang/reflect/natMethod.cc (invoke): Likewise. * java/lang/reflect/natField.cc (getAddr): Likewise. * java/lang/reflect/natConstructor.cc (newInstance): Likewise. * java/lang/natVMSecurityManager.cc (getClassContext): Likewise. * java/io/natObjectInputStream.cc (currentLoader): Likewise. * java/util/logging/natLogger.cc (getCallerStackFrame): Likewise. * java/util/natResourceBundle.cc (getCallingClassLoader): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcj/gcj-abi-experimental-branch@113035 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog14
-rw-r--r--libjava/java/io/natObjectInputStream.cc2
-rw-r--r--libjava/java/lang/natClass.cc20
-rw-r--r--libjava/java/lang/natRuntime.cc2
-rw-r--r--libjava/java/lang/natVMSecurityManager.cc2
-rw-r--r--libjava/java/lang/reflect/natArray.cc2
-rw-r--r--libjava/java/lang/reflect/natConstructor.cc2
-rw-r--r--libjava/java/lang/reflect/natField.cc2
-rw-r--r--libjava/java/lang/reflect/natMethod.cc2
-rw-r--r--libjava/java/util/logging/natLogger.cc2
-rw-r--r--libjava/java/util/natResourceBundle.cc2
11 files changed, 38 insertions, 14 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 11d57062518..f5cb6f96df9 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,19 @@
2006-04-18 Andrew Haley <aph@redhat.com>
+ * java/lang/natClass.cc (forName): Pass
+ __PRETTY_FUNCTION__ to GetStackTrace().
+ * java/lang/natRuntime.cc (_load): Likewise.
+ * java/lang/reflect/natArray.cc (newInstance): Likewise.
+ * java/lang/reflect/natMethod.cc (invoke): Likewise.
+ * java/lang/reflect/natField.cc (getAddr): Likewise.
+ * java/lang/reflect/natConstructor.cc (newInstance): Likewise.
+ * java/lang/natVMSecurityManager.cc (getClassContext): Likewise.
+ * java/io/natObjectInputStream.cc (currentLoader): Likewise.
+ * java/util/logging/natLogger.cc (getCallerStackFrame): Likewise.
+ * java/util/natResourceBundle.cc (getCallingClassLoader): Likewise.
+
+2006-04-18 Andrew Haley <aph@redhat.com>
+
* java/lang/natVMThrowable.cc (fillInStackTrace): Pass
__PRETTY_FUNCTION__ to GetStackTrace().
* stacktrace.cc (record_caller): New.
diff --git a/libjava/java/io/natObjectInputStream.cc b/libjava/java/io/natObjectInputStream.cc
index 2d1a55665d1..9a088773cc9 100644
--- a/libjava/java/io/natObjectInputStream.cc
+++ b/libjava/java/io/natObjectInputStream.cc
@@ -73,7 +73,7 @@ java::io::ObjectInputStream::allocateObject (jclass klass, jclass,
java::lang::ClassLoader *
java::io::ObjectInputStream::currentLoader ()
{
- jclass caller = _Jv_StackTrace::GetCallingClass (&ObjectInputStream::class$);
+ jclass caller = _Jv_StackTrace::GetCallingClass (&ObjectInputStream::class$, __PRETTY_FUNCTION__);
if (caller)
return caller->getClassLoaderInternal();
return NULL;
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index 8972cb2c499..73f05bb3335 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -101,7 +101,7 @@ java::lang::Class::forName (jstring className)
{
java::lang::ClassLoader *loader = NULL;
- jclass caller = _Jv_StackTrace::GetCallingClass (&Class::class$);
+ jclass caller = _Jv_StackTrace::GetCallingClass (&Class::class$, __PRETTY_FUNCTION__);
if (caller)
loader = caller->getClassLoaderInternal();
@@ -114,10 +114,20 @@ java::lang::Class::getClassLoader (void)
java::lang::SecurityManager *s = java::lang::System::getSecurityManager();
if (s != NULL)
{
- jclass caller = _Jv_StackTrace::GetCallingClass (&Class::class$);
- ClassLoader *caller_loader = NULL;
- if (caller)
- caller_loader = caller->getClassLoaderInternal();
+ jclass caller = _Jv_StackTrace::GetCallingClass (&Class::class$, __PRETTY_FUNCTION__);
+ return getClassLoader (caller);
+ }
+
+ return loader;
+}
+
+java::lang::ClassLoader *
+java::lang::Class::getClassLoader (jclass caller)
+{
+ java::lang::SecurityManager *s = java::lang::System::getSecurityManager();
+ if (s != NULL)
+ {
+ ClassLoader *caller_loader = caller->getClassLoaderInternal();
// If the caller has a non-null class loader, and that loader
// is not this class' loader or an ancestor thereof, then do a
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc
index 5cca1b072a3..6f8b1a7809e 100644
--- a/libjava/java/lang/natRuntime.cc
+++ b/libjava/java/lang/natRuntime.cc
@@ -145,7 +145,7 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
if (do_search)
{
- ClassLoader *look = _Jv_StackTrace::GetFirstNonSystemClassLoader ();
+ ClassLoader *look = _Jv_StackTrace::GetFirstNonSystemClassLoader (__PRETTY_FUNCTION__);
if (look != NULL)
{
diff --git a/libjava/java/lang/natVMSecurityManager.cc b/libjava/java/lang/natVMSecurityManager.cc
index 9d52c92c7c5..bd9f1cbdc5c 100644
--- a/libjava/java/lang/natVMSecurityManager.cc
+++ b/libjava/java/lang/natVMSecurityManager.cc
@@ -23,7 +23,7 @@ JArray<jclass> *
java::lang::VMSecurityManager::getClassContext (jclass klass)
{
JArray<jclass> *result =
- _Jv_StackTrace::GetClassContext (klass);
+ _Jv_StackTrace::GetClassContext (klass, __PRETTY_FUNCTION__);
return result;
}
diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc
index b7bc8beff88..4a269971aff 100644
--- a/libjava/java/lang/reflect/natArray.cc
+++ b/libjava/java/lang/reflect/natArray.cc
@@ -55,7 +55,7 @@ java::lang::reflect::Array::newInstance (jclass componentType,
if (ndims == 1)
return newInstance (componentType, dims[0]);
- Class *caller = _Jv_StackTrace::GetCallingClass (&Array::class$);
+ Class *caller = _Jv_StackTrace::GetCallingClass (&Array::class$, __PRETTY_FUNCTION__);
ClassLoader *caller_loader = NULL;
if (caller)
caller_loader = caller->getClassLoaderInternal();
diff --git a/libjava/java/lang/reflect/natConstructor.cc b/libjava/java/lang/reflect/natConstructor.cc
index f4d95905bfc..513132af844 100644
--- a/libjava/java/lang/reflect/natConstructor.cc
+++ b/libjava/java/lang/reflect/natConstructor.cc
@@ -56,7 +56,7 @@ java::lang::reflect::Constructor::newInstance (jobjectArray args)
// Check accessibility, if required.
if (! (Modifier::isPublic (meth->accflags) || this->isAccessible()))
{
- Class *caller = _Jv_StackTrace::GetCallingClass (&Constructor::class$);
+ Class *caller = _Jv_StackTrace::GetCallingClass (&Constructor::class$, __PRETTY_FUNCTION__);
if (! _Jv_CheckAccess(caller, declaringClass, meth->accflags))
throw new IllegalAccessException;
}
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc
index 33a5717f4b3..3b151da0e53 100644
--- a/libjava/java/lang/reflect/natField.cc
+++ b/libjava/java/lang/reflect/natField.cc
@@ -79,7 +79,7 @@ getAddr (java::lang::reflect::Field* field, jclass caller, jobject obj,
// Check accessibility, if required.
if (! (Modifier::isPublic (flags) || field->isAccessible()))
{
- caller = _Jv_StackTrace::GetCallingClass (&Field::class$);
+ caller = _Jv_StackTrace::GetCallingClass (&Field::class$, __PRETTY_FUNCTION__);
if (! _Jv_CheckAccess (caller, field->getDeclaringClass(), flags))
throw new java::lang::IllegalAccessException;
}
diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc
index 94bc49be548..4607d7cf253 100644
--- a/libjava/java/lang/reflect/natMethod.cc
+++ b/libjava/java/lang/reflect/natMethod.cc
@@ -170,7 +170,7 @@ java::lang::reflect::Method::invoke (jobject obj, jobjectArray args)
// Check accessibility, if required.
if (! (Modifier::isPublic (meth->accflags) || this->isAccessible()))
{
- Class *caller = _Jv_StackTrace::GetCallingClass (&Method::class$);
+ Class *caller = _Jv_StackTrace::GetCallingClass (&Method::class$, __PRETTY_FUNCTION__);
if (! _Jv_CheckAccess(caller, declaringClass, meth->accflags))
throw new IllegalAccessException;
}
diff --git a/libjava/java/util/logging/natLogger.cc b/libjava/java/util/logging/natLogger.cc
index 5c68b1722c7..ad16d3ea107 100644
--- a/libjava/java/util/logging/natLogger.cc
+++ b/libjava/java/util/logging/natLogger.cc
@@ -32,7 +32,7 @@ java::util::logging::Logger::getCallerStackFrame ()
{
jclass klass = NULL;
_Jv_Method *meth = NULL;
- _Jv_StackTrace::GetCallerInfo (&Logger::class$, &klass, &meth);
+ _Jv_StackTrace::GetCallerInfo (&Logger::class$, &klass, &meth, __PRETTY_FUNCTION__);
jstring meth_name = NULL;
jstring klass_name = NULL;
diff --git a/libjava/java/util/natResourceBundle.cc b/libjava/java/util/natResourceBundle.cc
index e8d4fb4fd43..bf9992ea2a6 100644
--- a/libjava/java/util/natResourceBundle.cc
+++ b/libjava/java/util/natResourceBundle.cc
@@ -22,7 +22,7 @@ using namespace java::lang;
java::lang::ClassLoader *
java::util::ResourceBundle::getCallingClassLoader ()
{
- jclass caller = _Jv_StackTrace::GetCallingClass (&ResourceBundle::class$);
+ jclass caller = _Jv_StackTrace::GetCallingClass (&ResourceBundle::class$, __PRETTY_FUNCTION__);
if (caller)
return caller->getClassLoaderInternal();
return NULL;