comparison 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
comparison
equal deleted inserted replaced
1603:d93949c5bdcc 1604:b918d354830a
321 321
322 // ------------------------------------------------------------------ 322 // ------------------------------------------------------------------
323 // ciInstanceKlass::java_mirror 323 // ciInstanceKlass::java_mirror
324 // 324 //
325 // Get the instance of java.lang.Class corresponding to this klass. 325 // Get the instance of java.lang.Class corresponding to this klass.
326 // Cache it on this->_java_mirror.
326 ciInstance* ciInstanceKlass::java_mirror() { 327 ciInstance* ciInstanceKlass::java_mirror() {
327 if (_java_mirror == NULL) { 328 if (_java_mirror == NULL) {
328 if (!is_loaded()) 329 _java_mirror = ciKlass::java_mirror();
329 _java_mirror = ciEnv::current()->get_unloaded_klass_mirror(this);
330 else
331 _java_mirror = ciKlass::java_mirror();
332 } 330 }
333 return _java_mirror; 331 return _java_mirror;
334 } 332 }
335 333
336 // ------------------------------------------------------------------ 334 // ------------------------------------------------------------------