Mercurial > hg > truffle
comparison src/share/vm/opto/escape.cpp @ 1062:dcdcc8c16e20
6896352: CTW fails hotspot/src/share/vm/opto/escape.cpp:1155
Summary: Always call C->get_alias_index(phase->type(address)) during parsing.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 04 Nov 2009 14:43:50 -0800 |
parents | 7e309ecb83ce |
children | 7ef1d2e14917 |
comparison
equal
deleted
inserted
replaced
1061:09572fede9d1 | 1062:dcdcc8c16e20 |
---|---|
535 !base_t->klass()->is_subtype_of(t->klass())) { | 535 !base_t->klass()->is_subtype_of(t->klass())) { |
536 return false; // bail out | 536 return false; // bail out |
537 } | 537 } |
538 | 538 |
539 const TypeOopPtr *tinst = base_t->add_offset(t->offset())->is_oopptr(); | 539 const TypeOopPtr *tinst = base_t->add_offset(t->offset())->is_oopptr(); |
540 // Do NOT remove the next call: ensure an new alias index is allocated | 540 // Do NOT remove the next line: ensure a new alias index is allocated |
541 // for the instance type | 541 // for the instance type. Note: C++ will not remove it since the call |
542 // has side effect. | |
542 int alias_idx = _compile->get_alias_index(tinst); | 543 int alias_idx = _compile->get_alias_index(tinst); |
543 igvn->set_type(addp, tinst); | 544 igvn->set_type(addp, tinst); |
544 // record the allocation in the node map | 545 // record the allocation in the node map |
545 set_map(addp->_idx, get_map(base->_idx)); | 546 set_map(addp->_idx, get_map(base->_idx)); |
546 | 547 |