aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2000-03-09 09:22:36 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2000-03-09 09:22:36 +0000
commitfb863f625e01b70f4e8335b81c66d5f41c2dc54a (patch)
treec443863c5e231ddb364e02e712a96a284b76f1e0 /libjava/java/lang
parent90e5a6dc405d46992d1d1e9d05e3324723a3f12c (diff)
downloadgcc-fb863f625e01b70f4e8335b81c66d5f41c2dc54a.zip
gcc-fb863f625e01b70f4e8335b81c66d5f41c2dc54a.tar.gz
gcc-fb863f625e01b70f4e8335b81c66d5f41c2dc54a.tar.bz2
natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables.
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
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/natClass.cc3
-rw-r--r--libjava/java/lang/natClassLoader.cc3
2 files changed, 4 insertions, 2 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index dea2d8a..99fddf6d 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 aeb035c..896873a 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;