Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/idealKit.cpp @ 6804:e626685e9f6c
7193318: C2: remove number of inputs requirement from Node's new operator
Summary: Deleted placement new operator of Node - node(size_t, Compile *, int).
Reviewed-by: kvn, twisti
Contributed-by: bharadwaj.yadavalli@oracle.com
author | kvn |
---|---|
date | Thu, 27 Sep 2012 09:38:42 -0700 |
parents | 09aad8452938 |
children | b9a9ed0f8eeb |
line wrap: on
line diff
--- a/src/share/vm/opto/idealKit.cpp Tue Sep 25 15:48:17 2012 -0700 +++ b/src/share/vm/opto/idealKit.cpp Thu Sep 27 09:38:42 2012 -0700 @@ -86,7 +86,7 @@ } // Delay gvn.tranform on if-nodes until construction is finished // to prevent a constant bool input from discarding a control output. - IfNode* iff = delay_transform(new (C, 2) IfNode(ctrl(), bol, prob, cnt))->as_If(); + IfNode* iff = delay_transform(new (C) IfNode(ctrl(), bol, prob, cnt))->as_If(); Node* then = IfTrue(iff); Node* elsen = IfFalse(iff); Node* else_cvstate = copy_cvstate(); @@ -205,7 +205,7 @@ assert(_cvstate != NULL, "must declare variables before labels"); Node* lab = new_cvstate(); int sz = 1 + goto_ct + 1 /* fall thru */; - Node* reg = delay_transform(new (C, sz) RegionNode(sz)); + Node* reg = delay_transform(new (C) RegionNode(sz)); lab->init_req(TypeFunc::Control, reg); return lab; } @@ -315,7 +315,7 @@ //-----------------------------new_cvstate----------------------------------- Node* IdealKit::new_cvstate() { uint sz = _var_ct + first_var; - return new (C, sz) Node(sz); + return new (C) Node(sz); } //-----------------------------copy_cvstate----------------------------------- @@ -413,7 +413,7 @@ // Add required edge to oop_store, optimizer does not support precedence edges. // Convert required edge to precedence edge before allocation. - Node* st = new (C, 5) StoreCMNode(ctl, mem, adr, adr_type, val, oop_store, oop_adr_idx); + Node* st = new (C) StoreCMNode(ctl, mem, adr, adr_type, val, oop_store, oop_adr_idx); st = transform(st); set_memory(st, adr_idx); @@ -513,8 +513,7 @@ uint adr_idx = C->get_alias_index(adr_type); // Slow-path leaf call - int size = slow_call_type->domain()->cnt(); - CallNode *call = (CallNode*)new (C, size) CallLeafNode( slow_call_type, slow_call, leaf_name, adr_type); + CallNode *call = (CallNode*)new (C) CallLeafNode( slow_call_type, slow_call, leaf_name, adr_type); // Set fixed predefined input arguments call->init_req( TypeFunc::Control, ctrl() ); @@ -535,10 +534,10 @@ // Slow leaf call has no side-effects, sets few values - set_ctrl(transform( new (C, 1) ProjNode(call,TypeFunc::Control) )); + set_ctrl(transform( new (C) ProjNode(call,TypeFunc::Control) )); // Make memory for the call - Node* mem = _gvn.transform( new (C, 1) ProjNode(call, TypeFunc::Memory) ); + Node* mem = _gvn.transform( new (C) ProjNode(call, TypeFunc::Memory) ); // Set the RawPtr memory state only. set_memory(mem, adr_idx); @@ -561,8 +560,7 @@ uint adr_idx = C->get_alias_index(adr_type); // Slow-path leaf call - int size = slow_call_type->domain()->cnt(); - CallNode *call = (CallNode*)new (C, size) CallLeafNoFPNode( slow_call_type, slow_call, leaf_name, adr_type); + CallNode *call = (CallNode*)new (C) CallLeafNoFPNode( slow_call_type, slow_call, leaf_name, adr_type); // Set fixed predefined input arguments call->init_req( TypeFunc::Control, ctrl() ); @@ -583,10 +581,10 @@ // Slow leaf call has no side-effects, sets few values - set_ctrl(transform( new (C, 1) ProjNode(call,TypeFunc::Control) )); + set_ctrl(transform( new (C) ProjNode(call,TypeFunc::Control) )); // Make memory for the call - Node* mem = _gvn.transform( new (C, 1) ProjNode(call, TypeFunc::Memory) ); + Node* mem = _gvn.transform( new (C) ProjNode(call, TypeFunc::Memory) ); // Set the RawPtr memory state only. set_memory(mem, adr_idx);