natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables.
authorBryce McKinlay <bryce@albatross.co.nz>
Thu, 9 Mar 2000 09:22:36 +0000 (09:22 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Thu, 9 Mar 2000 09:22:36 +0000 (09:22 +0000)
2000-03-09  Bryce McKinlay  <bryce@albatross.co.nz>

        * 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

libjava/ChangeLog
libjava/java/lang/natClass.cc
libjava/java/lang/natClassLoader.cc

index 38b61f6d1e57f156761a0857af2e580a332b548b..8c870fd4f8d72726b9c93ab46ed89dddc2e71bca 100644 (file)
@@ -1,3 +1,11 @@
+2000-03-09  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * 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  <tromey@cygnus.com>
 
        * java/lang/reflect/natArray.cc (newInstance): Don't allow array
index dea2d8a698e41478d3f53b1c8cd2238c65d6f2b1..99fddf6d8acaa32dfa0d7a9a422619c900938a54 100644 (file)
@@ -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 = 
index aeb035c669c3841d55935dbaada48f5f7777a6dc..896873a6a6e96eee1abd0c7be63a570481f6afa5 100644 (file)
@@ -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;