src/hotspot/share/opto/macro.cpp
changeset 55541 700ef5241888
parent 54786 ebf733a324d4
child 57582 a79a819a8218
equal deleted inserted replaced
55540:d4de822dc421 55541:700ef5241888
  1006         // Eliminate Initialize node.
  1006         // Eliminate Initialize node.
  1007         InitializeNode *init = use->as_Initialize();
  1007         InitializeNode *init = use->as_Initialize();
  1008         assert(init->outcnt() <= 2, "only a control and memory projection expected");
  1008         assert(init->outcnt() <= 2, "only a control and memory projection expected");
  1009         Node *ctrl_proj = init->proj_out_or_null(TypeFunc::Control);
  1009         Node *ctrl_proj = init->proj_out_or_null(TypeFunc::Control);
  1010         if (ctrl_proj != NULL) {
  1010         if (ctrl_proj != NULL) {
  1011            assert(init->in(TypeFunc::Control) == _fallthroughcatchproj, "allocation control projection");
  1011           _igvn.replace_node(ctrl_proj, init->in(TypeFunc::Control));
  1012           _igvn.replace_node(ctrl_proj, _fallthroughcatchproj);
  1012 #ifdef ASSERT
       
  1013           BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
       
  1014           Node* tmp = init->in(TypeFunc::Control);
       
  1015           while (bs->is_gc_barrier_node(tmp)) {
       
  1016             Node* tmp2 = bs->step_over_gc_barrier_ctrl(tmp);
       
  1017             assert(tmp != tmp2, "Must make progress");
       
  1018             tmp = tmp2;
       
  1019           }
       
  1020           assert(tmp == _fallthroughcatchproj, "allocation control projection");
       
  1021 #endif
  1013         }
  1022         }
  1014         Node *mem_proj = init->proj_out_or_null(TypeFunc::Memory);
  1023         Node *mem_proj = init->proj_out_or_null(TypeFunc::Memory);
  1015         if (mem_proj != NULL) {
  1024         if (mem_proj != NULL) {
  1016           Node *mem = init->in(TypeFunc::Memory);
  1025           Node *mem = init->in(TypeFunc::Memory);
  1017 #ifdef ASSERT
  1026 #ifdef ASSERT