From 56797587b4d4d4586c1fe36b9cc615ad7a9567f9 Mon Sep 17 00:00:00 2001 From: aph Date: Tue, 3 Dec 2002 13:50:05 +0000 Subject: 2002-12-03 Andrew Haley * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call _Jv_PushClass. (_Jv_InitNewClassFields): Set protectionDomain and chain = NULL. (_Jv_PopClass): New. (_Jv_PushClass): New. * java/lang/natClass.cc (forName (jstring)): Use a StackTrace to discover the ClassLoader of our caller. (_Jv_CheckArrayStore): Don't check that a class is assignment compatible with Object. * java/lang/natVMTHrowable.cc: Delete. * gnu/gcj/runtime/StackTrace.java: New, partly copied from java.lang.VMThrowable. (StackTrace(), StackTrace(int)): New constructors. (classAt, methodAt, update, methodAtAddress): New methods. (map): New field. * java/lang/VMThrowable.java: Use StackTrace instead of natVMTHrowable. * java/lang/Class.h (getClassLoaderInternal): New. (class Class): Be friendly with _Jv_PopClass and _Jv_PushClass. Be friendly with gnu::gcj::runtime::StackTrace. (Object.chain): New field. * include/java-interp.h (class _Jv_InterpMethod): Be friendly with gnu::gcj::runtime::StackTrace. * prims.cc (_Jv_NewObjectArray): Use getClassLoaderInternal() instead of getClassLoader(). * verify.cc (class _Jv_BytecodeVerifier): Likewise. java::lang::VMThrowable. * Makefile.am (core_java_source_files): Add MethodRef.java, StackTrace.java. (nat_source_files): Remove natVMThrowable.cc; add natStackTrace.cc. * Makefile.in: Rebuild. 2002-12-03 Andrew Haley * class.c (make_class_data): New field, "chain". * decl.c (java_init_decl_processing): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59769 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/verify.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libjava/verify.cc') diff --git a/libjava/verify.cc b/libjava/verify.cc index dc88944e757..dbf80d4bf03 100644 --- a/libjava/verify.cc +++ b/libjava/verify.cc @@ -405,7 +405,7 @@ private: using namespace java::lang; java::lang::ClassLoader *loader - = verifier->current_class->getClassLoader(); + = verifier->current_class->getClassLoaderInternal(); // We might see either kind of name. Sigh. if (data.name->data[0] == 'L' && data.name->data[data.name->length - 1] == ';') @@ -571,7 +571,7 @@ private: if (key == reference_type) return type (_Jv_GetArrayClass (data.klass, - data.klass->getClassLoader ())); + data.klass->getClassLoaderInternal())); else verifier->verify_fail ("internal error in type::to_array()"); } @@ -695,7 +695,7 @@ private: while (arraycount > 0) { java::lang::ClassLoader *loader - = verifier->current_class->getClassLoader(); + = verifier->current_class->getClassLoaderInternal(); k = _Jv_GetArrayClass (k, loader); --arraycount; } -- cgit v1.2.1