src/hotspot/share/opto/escape.cpp
changeset 53706 b5b373bda814
parent 53288 f0490430ef7a
child 53875 7a6fb8a48434
equal deleted inserted replaced
53705:757e9407bafc 53706:b5b373bda814
  3008       igvn->hash_delete(n);
  3008       igvn->hash_delete(n);
  3009       igvn->set_type(n,  tinst);
  3009       igvn->set_type(n,  tinst);
  3010       n->raise_bottom_type(tinst);
  3010       n->raise_bottom_type(tinst);
  3011       igvn->hash_insert(n);
  3011       igvn->hash_insert(n);
  3012       record_for_optimizer(n);
  3012       record_for_optimizer(n);
       
  3013       // Allocate an alias index for the header fields. Accesses to
       
  3014       // the header emitted during macro expansion wouldn't have
       
  3015       // correct memory state otherwise.
       
  3016       _compile->get_alias_index(tinst->add_offset(oopDesc::mark_offset_in_bytes()));
       
  3017       _compile->get_alias_index(tinst->add_offset(oopDesc::klass_offset_in_bytes()));
  3013       if (alloc->is_Allocate() && (t->isa_instptr() || t->isa_aryptr())) {
  3018       if (alloc->is_Allocate() && (t->isa_instptr() || t->isa_aryptr())) {
  3014 
  3019 
  3015         // First, put on the worklist all Field edges from Connection Graph
  3020         // First, put on the worklist all Field edges from Connection Graph
  3016         // which is more accurate than putting immediate users from Ideal Graph.
  3021         // which is more accurate than putting immediate users from Ideal Graph.
  3017         for (EdgeIterator e(ptn); e.has_next(); e.next()) {
  3022         for (EdgeIterator e(ptn); e.has_next(); e.next()) {