diff src/share/vm/graal/graalVMEntries.cpp @ 3700:b5c649e4e700

Merge.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 24 Nov 2011 17:45:38 +0100
parents 67e92894d065 872e949a0827
children 713131edb435
line wrap: on
line diff
--- a/src/share/vm/graal/graalVMEntries.cpp	Thu Nov 24 17:45:19 2011 +0100
+++ b/src/share/vm/graal/graalVMEntries.cpp	Thu Nov 24 17:45:38 2011 +0100
@@ -676,6 +676,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, "");