changeset 3697:872e949a0827

fix componentType for the primitive array case
author Gilles Duboscq <gilles.m.duboscq@gmail.com>
date Thu, 24 Nov 2011 17:25:39 +0100
parents dc7902820c9b
children 9b5611392eb9
files src/share/vm/graal/graalVMEntries.cpp
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/graal/graalVMEntries.cpp	Thu Nov 24 17:24:43 2011 +0100
+++ b/src/share/vm/graal/graalVMEntries.cpp	Thu Nov 24 17:25:39 2011 +0100
@@ -671,6 +671,11 @@
   TRACE_graal_3("VMEntries::RiType_componentType");
   VM_ENTRY_MARK;
   KlassHandle array_klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass));
+  if(array_klass->oop_is_typeArray()) {
+    BasicType t = typeArrayKlass::cast(array_klass())->element_type();
+    oop primitive_type = VMExits::createRiTypePrimitive((int) t, CHECK_NULL);
+    return JNIHandles::make_local(primitive_type);
+  }
   assert(array_klass->oop_is_objArray(), "just checking");
   klassOop element_type = objArrayKlass::cast(array_klass())->element_klass();
   assert(JNIHandles::resolve(klass) != NULL, "");