Mercurial > hg > graal-compiler
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 // ------------------------------------------------------------------ |