< prev index next >

src/hotspot/share/c1/c1_Instruction.cpp

Print this page

@@ -220,11 +220,16 @@
 ciType* NewTypeArray::exact_type() const {
   return ciTypeArrayKlass::make(elt_type());
 }
 
 ciType* NewObjectArray::exact_type() const {
-  return ciObjArrayKlass::make(klass());
+  ciKlass* element_klass = klass();
+  if (element_klass->is_valuetype()) {
+    return ciValueArrayKlass::make(element_klass);
+  } else {
+    return ciObjArrayKlass::make(element_klass);
+  }
 }
 
 ciType* NewArray::declared_type() const {
   return exact_type();
 }
< prev index next >