diff src/share/vm/ci/ciInstanceKlass.cpp @ 1604:b918d354830a

6960865: ldc of unloaded class throws an assert in ciTypeFlow Summary: Support java_mirror for unloaded klasses, arrays as well as instances. Simplify ciTypeFlow by removing unused path. Reviewed-by: kvn
author jrose
date Sat, 12 Jun 2010 22:53:43 -0700
parents 136b78722a08
children 3941674cc7fa
line wrap: on
line diff
--- a/src/share/vm/ci/ciInstanceKlass.cpp	Thu Jun 10 13:04:20 2010 -0700
+++ b/src/share/vm/ci/ciInstanceKlass.cpp	Sat Jun 12 22:53:43 2010 -0700
@@ -323,12 +323,10 @@
 // ciInstanceKlass::java_mirror
 //
 // Get the instance of java.lang.Class corresponding to this klass.
+// Cache it on this->_java_mirror.
 ciInstance* ciInstanceKlass::java_mirror() {
   if (_java_mirror == NULL) {
-    if (!is_loaded())
-      _java_mirror = ciEnv::current()->get_unloaded_klass_mirror(this);
-    else
-      _java_mirror = ciKlass::java_mirror();
+    _java_mirror = ciKlass::java_mirror();
   }
   return _java_mirror;
 }