hotspot/src/share/vm/opto/parse3.cpp
changeset 33196 3d84eedbd82c
parent 33180 34e5004f5acb
child 34174 4db2fb26dc49
equal deleted inserted replaced
33194:1af73c83efae 33196:3d84eedbd82c
   311         set_wrote_stable(true);
   311         set_wrote_stable(true);
   312     }
   312     }
   313 
   313 
   314     // Preserve allocation ptr to create precedent edge to it in membar
   314     // Preserve allocation ptr to create precedent edge to it in membar
   315     // generated on exit from constructor.
   315     // generated on exit from constructor.
   316     if (AllocateNode::Ideal_allocation(obj, &_gvn) != NULL) {
   316     if (C->eliminate_boxing() &&
   317       if (field->is_final()) {
   317         adr_type->isa_oopptr() && adr_type->is_oopptr()->is_ptr_to_boxed_value() &&
   318         set_alloc_with_final(obj);
   318         AllocateNode::Ideal_allocation(obj, &_gvn) != NULL) {
   319       }
   319       set_alloc_with_final(obj);
   320       if (field->is_stable()) {
       
   321         set_alloc_with_stable(obj);
       
   322       }
       
   323     } else if (field->is_stable()) {
       
   324       // This stable field doesn't have an allocation, set
       
   325       // alloc_with_stable as NULL: its initial value is NodeSentinel,
       
   326       // if it is not set to NULL here, next set_alloc_with_stable
       
   327       // call might set none-NULL value successfully.
       
   328       set_alloc_with_stable(NULL);
       
   329     }
   320     }
   330   }
   321   }
   331 }
   322 }
   332 
   323 
   333 //=============================================================================
   324 //=============================================================================