diff src/share/vm/ci/ciObjArrayKlass.cpp @ 12883:f50418dfb1b7

Merge
author iveresov
date Sun, 13 Oct 2013 13:22:24 -0700
parents d13d7aba8c12
children de6a9e811145
line wrap: on
line diff
--- a/src/share/vm/ci/ciObjArrayKlass.cpp	Fri Oct 11 13:14:48 2013 -0700
+++ b/src/share/vm/ci/ciObjArrayKlass.cpp	Sun Oct 13 13:22:24 2013 -0700
@@ -179,3 +179,16 @@
 ciObjArrayKlass* ciObjArrayKlass::make(ciKlass* element_klass) {
   GUARDED_VM_ENTRY(return make_impl(element_klass);)
 }
+
+ciKlass* ciObjArrayKlass::exact_klass() {
+  ciType* base = base_element_type();
+  if (base->is_instance_klass()) {
+    ciInstanceKlass* ik = base->as_instance_klass();
+    if (ik->exact_klass() != NULL) {
+      return this;
+    }
+  } else if (base->is_primitive_type()) {
+    return this;
+  }
+  return NULL;
+}