2714 result_ctrl = new (C, 1) ProjNode(call,TypeFunc::Control); |
2714 result_ctrl = new (C, 1) ProjNode(call,TypeFunc::Control); |
2715 _igvn.register_new_node_with_optimizer(result_ctrl); |
2715 _igvn.register_new_node_with_optimizer(result_ctrl); |
2716 result_mem = new (C, 1) ProjNode(call,TypeFunc::Memory); |
2716 result_mem = new (C, 1) ProjNode(call,TypeFunc::Memory); |
2717 _igvn.register_new_node_with_optimizer(result_mem); |
2717 _igvn.register_new_node_with_optimizer(result_mem); |
2718 |
2718 |
|
2719 /* Disable following optimization until proper fix (add missing checks). |
|
2720 |
2719 // If this fill is tightly coupled to an allocation and overwrites |
2721 // If this fill is tightly coupled to an allocation and overwrites |
2720 // the whole body, allow it to take over the zeroing. |
2722 // the whole body, allow it to take over the zeroing. |
2721 AllocateNode* alloc = AllocateNode::Ideal_allocation(base, this); |
2723 AllocateNode* alloc = AllocateNode::Ideal_allocation(base, this); |
2722 if (alloc != NULL && alloc->is_AllocateArray()) { |
2724 if (alloc != NULL && alloc->is_AllocateArray()) { |
2723 Node* length = alloc->as_AllocateArray()->Ideal_length(); |
2725 Node* length = alloc->as_AllocateArray()->Ideal_length(); |