diff options
author | Andrew Haley <aph@redhat.com> | 2006-04-18 13:21:47 +0000 |
---|---|---|
committer | Andrew Haley <aph@redhat.com> | 2006-04-18 13:21:47 +0000 |
commit | a50753f9b1fc8a511815dc9952813bb88b5285a0 (patch) | |
tree | ef6dc4a723e372808d8a9cb75528b609149fb580 | |
parent | 6e895562c923540f699a74bd44d540a178d101ad (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/ChangeLog | 14 | ||||
-rw-r--r-- | libjava/java/io/natObjectInputStream.cc | 2 | ||||
-rw-r--r-- | libjava/java/lang/natClass.cc | 20 | ||||
-rw-r--r-- | libjava/java/lang/natRuntime.cc | 2 | ||||
-rw-r--r-- | libjava/java/lang/natVMSecurityManager.cc | 2 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natArray.cc | 2 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natConstructor.cc | 2 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natField.cc | 2 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natMethod.cc | 2 | ||||
-rw-r--r-- | libjava/java/util/logging/natLogger.cc | 2 | ||||
-rw-r--r-- | libjava/java/util/natResourceBundle.cc | 2 |
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; |