diff options
| author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-09 09:22:36 +0000 |
|---|---|---|
| committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-09 09:22:36 +0000 |
| commit | 49095183544d177266906fe9344031429d011baf (patch) | |
| tree | c443863c5e231ddb364e02e712a96a284b76f1e0 /libjava/java | |
| parent | 563ee39fb0fac2ea7d4817926c6bf0ae726611b6 (diff) | |
| download | ppe42-gcc-49095183544d177266906fe9344031429d011baf.tar.gz ppe42-gcc-49095183544d177266906fe9344031429d011baf.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32445 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
| -rw-r--r-- | libjava/java/lang/natClass.cc | 3 | ||||
| -rw-r--r-- | libjava/java/lang/natClassLoader.cc | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index dea2d8a698e..99fddf6d8ac 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 aeb035c669c..896873a6a6e 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; |

