From: Bryce McKinlay Date: Thu, 9 Mar 2000 09:22:36 +0000 (+0000) Subject: natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables. X-Git-Tag: prereleases/libstdc++-2.92~7776 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fb863f625e01b70f4e8335b81c66d5f41c2dc54a;p=thirdparty%2Fgcc.git natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables. 2000-03-09 Bryce McKinlay * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables. * java/lang/natClass.cc (_Jv_PrepareConstantTimeTables): Array classes should have an IDT, so don't return if klass is an array class. From-SVN: r32445 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 38b61f6d1e57..8c870fd4f8d7 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2000-03-09 Bryce McKinlay + + * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Call + _Jv_PrepareConstantTimeTables. + * java/lang/natClass.cc (_Jv_PrepareConstantTimeTables): Array + classes should have an IDT, so don't return if klass is an array + class. + 2000-03-08 Tom Tromey * java/lang/reflect/natArray.cc (newInstance): Don't allow array diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index dea2d8a698e4..99fddf6d8aca 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -1005,8 +1005,7 @@ _Jv_PrepareConstantTimeTables (jclass klass) klass0 = klass0->superclass; } - if (klass->isArray () - || java::lang::reflect::Modifier::isAbstract (klass->accflags)) + if (java::lang::reflect::Modifier::isAbstract (klass->accflags)) return; klass->idt = diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index aeb035c669c3..896873a6a6e9 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -584,6 +584,9 @@ _Jv_FindArrayClass (jclass element, java::lang::ClassLoader *loader) array_class->interfaces = interfaces; array_class->interface_count = 1; + // Generate the interface dispatch table. + _Jv_PrepareConstantTimeTables (array_class); + // as per vmspec 5.3.3.2 array_class->accflags = element->accflags;