diff options
author | Bryce McKinlay <bryce@waitaki.otago.ac.nz> | 2001-10-16 08:35:17 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2001-10-16 09:35:17 +0100 |
commit | 107abb2f61f6e53ebb7aa05b78fdd9234ee7877c (patch) | |
tree | 48472b1f97ae998bfbcb469ac6838d504c367998 /libjava/java/lang/natClass.cc | |
parent | 6fd617e3e1087374b10ae48d822bf23b9ba19e1b (diff) | |
download | gcc-107abb2f61f6e53ebb7aa05b78fdd9234ee7877c.zip gcc-107abb2f61f6e53ebb7aa05b78fdd9234ee7877c.tar.gz gcc-107abb2f61f6e53ebb7aa05b78fdd9234ee7877c.tar.bz2 |
Eliminate use of C++ static constructors.
* interpret.cc: Remove static Utf8Consts. Use namespace gcj.
* jni.cc: Likewise.
* resolve.cc: Likewise.
* defineclass.cc: Likewise.
(_Jv_ClassReader::handleClassBegin): Synchronize call to
_Jv_RegisterClass.
* include/jvm.h (void_signature, clinit_name, init_name, finit_name):
Declare in namespace gcj.
* java/lang/Class.h (Class): Remove initialization for primitive
types.
(friend void _Jv_InitPrimClass): This is in prims.cc.
* prims.cc (_Jv_InitPrimClass): Do primitive type initialization
here instead.
(void_signature, clinit_name, init_name, finit_name): Define in
namespace gcj.
(_Jv_CreateJavaVM): Call _Jv_InitThreads, _Jv_InitGC, and
_Jv_InitializeSyncMutex from here. Initialize Utf8 constants.
Initialize primitive types.
* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Don't call
initialization routines. Don't synchronize.
* java/lang/natRuntime.cc (_load): Synchronize on java.lang.Class
across dlopen call.
From-SVN: r46282
Diffstat (limited to 'libjava/java/lang/natClass.cc')
-rw-r--r-- | libjava/java/lang/natClass.cc | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 7b6b8b5..2ca7960 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -60,17 +60,10 @@ details. */ #define FieldClass java::lang::reflect::Field::class$ #define ConstructorClass java::lang::reflect::Constructor::class$ -// Some constants we use to look up the class initializer. -static _Jv_Utf8Const *void_signature = _Jv_makeUtf8Const ("()V", 3); -static _Jv_Utf8Const *clinit_name = _Jv_makeUtf8Const ("<clinit>", 8); -static _Jv_Utf8Const *init_name = _Jv_makeUtf8Const ("<init>", 6); -static _Jv_Utf8Const *finit_name = _Jv_makeUtf8Const ("finit$", 6); -// The legacy `$finit$' method name, which still needs to be -// recognized as equivalent to the now prefered `finit$' name. -static _Jv_Utf8Const *finit_leg_name = _Jv_makeUtf8Const ("$finit$", 7); - +using namespace gcj; + jclass java::lang::Class::forName (jstring className, jboolean initialize, java::lang::ClassLoader *loader) @@ -341,9 +334,7 @@ java::lang::Class::getDeclaredMethods (void) if (method->name == NULL || _Jv_equalUtf8Consts (method->name, clinit_name) || _Jv_equalUtf8Consts (method->name, init_name) - || _Jv_equalUtf8Consts (method->name, finit_name) - // Backward compatibility hack: match the legacy `$finit$' name - || _Jv_equalUtf8Consts (method->name, finit_leg_name)) + || _Jv_equalUtf8Consts (method->name, finit_name)) continue; numMethods++; } @@ -357,9 +348,7 @@ java::lang::Class::getDeclaredMethods (void) if (method->name == NULL || _Jv_equalUtf8Consts (method->name, clinit_name) || _Jv_equalUtf8Consts (method->name, init_name) - || _Jv_equalUtf8Consts (method->name, finit_name) - // Backward compatibility hack: match the legacy `$finit$' name - || _Jv_equalUtf8Consts (method->name, finit_leg_name)) + || _Jv_equalUtf8Consts (method->name, finit_name)) continue; java::lang::reflect::Method* rmethod = new java::lang::reflect::Method (); @@ -522,9 +511,7 @@ java::lang::Class::_getMethods (JArray<java::lang::reflect::Method *> *result, if (method->name == NULL || _Jv_equalUtf8Consts (method->name, clinit_name) || _Jv_equalUtf8Consts (method->name, init_name) - || _Jv_equalUtf8Consts (method->name, finit_name) - // Backward compatibility hack: match the legacy `$finit$' name - || _Jv_equalUtf8Consts (method->name, finit_leg_name)) + || _Jv_equalUtf8Consts (method->name, finit_name)) continue; // Only want public methods. if (! java::lang::reflect::Modifier::isPublic (method->accflags)) |