hotspot/src/share/vm/opto/parse3.cpp
changeset 33180 34e5004f5acb
parent 33163 9e128b399e48
child 33196 3d84eedbd82c
equal deleted inserted replaced
33178:f77a432b90f6 33180:34e5004f5acb
   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 (C->eliminate_boxing() &&
   316     if (AllocateNode::Ideal_allocation(obj, &_gvn) != NULL) {
   317         adr_type->isa_oopptr() && adr_type->is_oopptr()->is_ptr_to_boxed_value() &&
   317       if (field->is_final()) {
   318         AllocateNode::Ideal_allocation(obj, &_gvn) != NULL) {
   318         set_alloc_with_final(obj);
   319       set_alloc_with_final(obj);
   319       }
       
   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);
   320     }
   329     }
   321   }
   330   }
   322 }
   331 }
   323 
   332 
   324 //=============================================================================
   333 //=============================================================================