Mercurial > hg > truffle
changeset 990:be094e0c089a
Merge
author | jrose |
---|---|
date | Tue, 15 Sep 2009 22:50:12 -0700 |
parents | 148e5441d916 (current diff) 7e309ecb83ce (diff) |
children | 3a2aa26bdc58 |
files | |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/opto/escape.cpp Tue Sep 15 21:53:47 2009 -0700 +++ b/src/share/vm/opto/escape.cpp Tue Sep 15 22:50:12 2009 -0700 @@ -524,12 +524,15 @@ // inlining) which was not eliminated during parsing since the exactness // of the allocation type was not propagated to the subclass type check. // + // Or the type 't' could be not related to 'base_t' at all. + // It could happened when CHA type is different from MDO type on a dead path + // (for example, from instanceof check) which is not collapsed during parsing. + // // Do nothing for such AddP node and don't process its users since // this code branch will go away. // if (!t->is_known_instance() && - !t->klass()->equals(base_t->klass()) && - t->klass()->is_subtype_of(base_t->klass())) { + !base_t->klass()->is_subtype_of(t->klass())) { return false; // bail out }