1.1 --- a/src/share/vm/opto/macro.cpp Tue Sep 25 15:48:17 2012 -0700 1.2 +++ b/src/share/vm/opto/macro.cpp Thu Sep 27 09:38:42 2012 -0700 1.3 @@ -103,20 +103,20 @@ 1.4 Node* PhaseMacroExpand::opt_bits_test(Node* ctrl, Node* region, int edge, Node* word, int mask, int bits, bool return_fast_path) { 1.5 Node* cmp; 1.6 if (mask != 0) { 1.7 - Node* and_node = transform_later(new (C, 3) AndXNode(word, MakeConX(mask))); 1.8 - cmp = transform_later(new (C, 3) CmpXNode(and_node, MakeConX(bits))); 1.9 + Node* and_node = transform_later(new (C) AndXNode(word, MakeConX(mask))); 1.10 + cmp = transform_later(new (C) CmpXNode(and_node, MakeConX(bits))); 1.11 } else { 1.12 cmp = word; 1.13 } 1.14 - Node* bol = transform_later(new (C, 2) BoolNode(cmp, BoolTest::ne)); 1.15 - IfNode* iff = new (C, 2) IfNode( ctrl, bol, PROB_MIN, COUNT_UNKNOWN ); 1.16 + Node* bol = transform_later(new (C) BoolNode(cmp, BoolTest::ne)); 1.17 + IfNode* iff = new (C) IfNode( ctrl, bol, PROB_MIN, COUNT_UNKNOWN ); 1.18 transform_later(iff); 1.19 1.20 // Fast path taken. 1.21 - Node *fast_taken = transform_later( new (C, 1) IfFalseNode(iff) ); 1.22 + Node *fast_taken = transform_later( new (C) IfFalseNode(iff) ); 1.23 1.24 // Fast path not-taken, i.e. slow path 1.25 - Node *slow_taken = transform_later( new (C, 1) IfTrueNode(iff) ); 1.26 + Node *slow_taken = transform_later( new (C) IfTrueNode(iff) ); 1.27 1.28 if (return_fast_path) { 1.29 region->init_req(edge, slow_taken); // Capture slow-control 1.30 @@ -141,10 +141,9 @@ 1.31 CallNode* PhaseMacroExpand::make_slow_call(CallNode *oldcall, const TypeFunc* slow_call_type, address slow_call, const char* leaf_name, Node* slow_path, Node* parm0, Node* parm1) { 1.32 1.33 // Slow-path call 1.34 - int size = slow_call_type->domain()->cnt(); 1.35 CallNode *call = leaf_name 1.36 - ? (CallNode*)new (C, size) CallLeafNode ( slow_call_type, slow_call, leaf_name, TypeRawPtr::BOTTOM ) 1.37 - : (CallNode*)new (C, size) CallStaticJavaNode( slow_call_type, slow_call, OptoRuntime::stub_name(slow_call), oldcall->jvms()->bci(), TypeRawPtr::BOTTOM ); 1.38 + ? (CallNode*)new (C) CallLeafNode ( slow_call_type, slow_call, leaf_name, TypeRawPtr::BOTTOM ) 1.39 + : (CallNode*)new (C) CallStaticJavaNode( slow_call_type, slow_call, OptoRuntime::stub_name(slow_call), oldcall->jvms()->bci(), TypeRawPtr::BOTTOM ); 1.40 1.41 // Slow path call has no side-effects, uses few values 1.42 copy_predefined_input_for_runtime_call(slow_path, oldcall, call ); 1.43 @@ -412,7 +411,7 @@ 1.44 GrowableArray <Node *> values(length, length, NULL, false); 1.45 1.46 // create a new Phi for the value 1.47 - PhiNode *phi = new (C, length) PhiNode(mem->in(0), phi_type, NULL, instance_id, alias_idx, offset); 1.48 + PhiNode *phi = new (C) PhiNode(mem->in(0), phi_type, NULL, instance_id, alias_idx, offset); 1.49 transform_later(phi); 1.50 value_phis->push(phi, mem->_idx); 1.51 1.52 @@ -720,7 +719,7 @@ 1.53 SafePointNode* sfpt = safepoints.pop(); 1.54 Node* mem = sfpt->memory(); 1.55 uint first_ind = sfpt->req(); 1.56 - SafePointScalarObjectNode* sobj = new (C, 1) SafePointScalarObjectNode(res_type, 1.57 + SafePointScalarObjectNode* sobj = new (C) SafePointScalarObjectNode(res_type, 1.58 #ifdef ASSERT 1.59 alloc, 1.60 #endif 1.61 @@ -828,7 +827,7 @@ 1.62 if (field_val->is_EncodeP()) { 1.63 field_val = field_val->in(1); 1.64 } else { 1.65 - field_val = transform_later(new (C, 2) DecodeNNode(field_val, field_val->bottom_type()->make_ptr())); 1.66 + field_val = transform_later(new (C) DecodeNNode(field_val, field_val->bottom_type()->make_ptr())); 1.67 } 1.68 } 1.69 sfpt->add_req(field_val); 1.70 @@ -995,7 +994,7 @@ 1.71 //---------------------------set_eden_pointers------------------------- 1.72 void PhaseMacroExpand::set_eden_pointers(Node* &eden_top_adr, Node* &eden_end_adr) { 1.73 if (UseTLAB) { // Private allocation: load from TLS 1.74 - Node* thread = transform_later(new (C, 1) ThreadLocalNode()); 1.75 + Node* thread = transform_later(new (C) ThreadLocalNode()); 1.76 int tlab_top_offset = in_bytes(JavaThread::tlab_top_offset()); 1.77 int tlab_end_offset = in_bytes(JavaThread::tlab_end_offset()); 1.78 eden_top_adr = basic_plus_adr(top()/*not oop*/, thread, tlab_top_offset); 1.79 @@ -1137,18 +1136,18 @@ 1.80 assert (initial_slow_test == NULL || !always_slow, "arguments must be consistent"); 1.81 // generate the initial test if necessary 1.82 if (initial_slow_test != NULL ) { 1.83 - slow_region = new (C, 3) RegionNode(3); 1.84 + slow_region = new (C) RegionNode(3); 1.85 1.86 // Now make the initial failure test. Usually a too-big test but 1.87 // might be a TRUE for finalizers or a fancy class check for 1.88 // newInstance0. 1.89 - IfNode *toobig_iff = new (C, 2) IfNode(ctrl, initial_slow_test, PROB_MIN, COUNT_UNKNOWN); 1.90 + IfNode *toobig_iff = new (C) IfNode(ctrl, initial_slow_test, PROB_MIN, COUNT_UNKNOWN); 1.91 transform_later(toobig_iff); 1.92 // Plug the failing-too-big test into the slow-path region 1.93 - Node *toobig_true = new (C, 1) IfTrueNode( toobig_iff ); 1.94 + Node *toobig_true = new (C) IfTrueNode( toobig_iff ); 1.95 transform_later(toobig_true); 1.96 slow_region ->init_req( too_big_or_final_path, toobig_true ); 1.97 - toobig_false = new (C, 1) IfFalseNode( toobig_iff ); 1.98 + toobig_false = new (C) IfFalseNode( toobig_iff ); 1.99 transform_later(toobig_false); 1.100 } else { // No initial test, just fall into next case 1.101 toobig_false = ctrl; 1.102 @@ -1181,10 +1180,10 @@ 1.103 Node *eden_end = make_load(ctrl, mem, eden_end_adr, 0, TypeRawPtr::BOTTOM, T_ADDRESS); 1.104 1.105 // allocate the Region and Phi nodes for the result 1.106 - result_region = new (C, 3) RegionNode(3); 1.107 - result_phi_rawmem = new (C, 3) PhiNode(result_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.108 - result_phi_rawoop = new (C, 3) PhiNode(result_region, TypeRawPtr::BOTTOM); 1.109 - result_phi_i_o = new (C, 3) PhiNode(result_region, Type::ABIO); // I/O is used for Prefetch 1.110 + result_region = new (C) RegionNode(3); 1.111 + result_phi_rawmem = new (C) PhiNode(result_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.112 + result_phi_rawoop = new (C) PhiNode(result_region, TypeRawPtr::BOTTOM); 1.113 + result_phi_i_o = new (C) PhiNode(result_region, Type::ABIO); // I/O is used for Prefetch 1.114 1.115 // We need a Region for the loop-back contended case. 1.116 enum { fall_in_path = 1, contended_loopback_path = 2 }; 1.117 @@ -1194,8 +1193,8 @@ 1.118 contended_region = toobig_false; 1.119 contended_phi_rawmem = mem; 1.120 } else { 1.121 - contended_region = new (C, 3) RegionNode(3); 1.122 - contended_phi_rawmem = new (C, 3) PhiNode(contended_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.123 + contended_region = new (C) RegionNode(3); 1.124 + contended_phi_rawmem = new (C) PhiNode(contended_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.125 // Now handle the passing-too-big test. We fall into the contended 1.126 // loop-back merge point. 1.127 contended_region ->init_req(fall_in_path, toobig_false); 1.128 @@ -1207,23 +1206,23 @@ 1.129 // Load(-locked) the heap top. 1.130 // See note above concerning the control input when using a TLAB 1.131 Node *old_eden_top = UseTLAB 1.132 - ? new (C, 3) LoadPNode (ctrl, contended_phi_rawmem, eden_top_adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM) 1.133 - : new (C, 3) LoadPLockedNode(contended_region, contended_phi_rawmem, eden_top_adr); 1.134 + ? new (C) LoadPNode (ctrl, contended_phi_rawmem, eden_top_adr, TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM) 1.135 + : new (C) LoadPLockedNode(contended_region, contended_phi_rawmem, eden_top_adr); 1.136 1.137 transform_later(old_eden_top); 1.138 // Add to heap top to get a new heap top 1.139 - Node *new_eden_top = new (C, 4) AddPNode(top(), old_eden_top, size_in_bytes); 1.140 + Node *new_eden_top = new (C) AddPNode(top(), old_eden_top, size_in_bytes); 1.141 transform_later(new_eden_top); 1.142 // Check for needing a GC; compare against heap end 1.143 - Node *needgc_cmp = new (C, 3) CmpPNode(new_eden_top, eden_end); 1.144 + Node *needgc_cmp = new (C) CmpPNode(new_eden_top, eden_end); 1.145 transform_later(needgc_cmp); 1.146 - Node *needgc_bol = new (C, 2) BoolNode(needgc_cmp, BoolTest::ge); 1.147 + Node *needgc_bol = new (C) BoolNode(needgc_cmp, BoolTest::ge); 1.148 transform_later(needgc_bol); 1.149 - IfNode *needgc_iff = new (C, 2) IfNode(contended_region, needgc_bol, PROB_UNLIKELY_MAG(4), COUNT_UNKNOWN); 1.150 + IfNode *needgc_iff = new (C) IfNode(contended_region, needgc_bol, PROB_UNLIKELY_MAG(4), COUNT_UNKNOWN); 1.151 transform_later(needgc_iff); 1.152 1.153 // Plug the failing-heap-space-need-gc test into the slow-path region 1.154 - Node *needgc_true = new (C, 1) IfTrueNode(needgc_iff); 1.155 + Node *needgc_true = new (C) IfTrueNode(needgc_iff); 1.156 transform_later(needgc_true); 1.157 if (initial_slow_test) { 1.158 slow_region->init_req(need_gc_path, needgc_true); 1.159 @@ -1234,7 +1233,7 @@ 1.160 slow_region = needgc_true; 1.161 } 1.162 // No need for a GC. Setup for the Store-Conditional 1.163 - Node *needgc_false = new (C, 1) IfFalseNode(needgc_iff); 1.164 + Node *needgc_false = new (C) IfFalseNode(needgc_iff); 1.165 transform_later(needgc_false); 1.166 1.167 // Grab regular I/O before optional prefetch may change it. 1.168 @@ -1254,37 +1253,37 @@ 1.169 // memory state. 1.170 if (UseTLAB) { 1.171 Node* store_eden_top = 1.172 - new (C, 4) StorePNode(needgc_false, contended_phi_rawmem, eden_top_adr, 1.173 + new (C) StorePNode(needgc_false, contended_phi_rawmem, eden_top_adr, 1.174 TypeRawPtr::BOTTOM, new_eden_top); 1.175 transform_later(store_eden_top); 1.176 fast_oop_ctrl = needgc_false; // No contention, so this is the fast path 1.177 fast_oop_rawmem = store_eden_top; 1.178 } else { 1.179 Node* store_eden_top = 1.180 - new (C, 5) StorePConditionalNode(needgc_false, contended_phi_rawmem, eden_top_adr, 1.181 + new (C) StorePConditionalNode(needgc_false, contended_phi_rawmem, eden_top_adr, 1.182 new_eden_top, fast_oop/*old_eden_top*/); 1.183 transform_later(store_eden_top); 1.184 - Node *contention_check = new (C, 2) BoolNode(store_eden_top, BoolTest::ne); 1.185 + Node *contention_check = new (C) BoolNode(store_eden_top, BoolTest::ne); 1.186 transform_later(contention_check); 1.187 - store_eden_top = new (C, 1) SCMemProjNode(store_eden_top); 1.188 + store_eden_top = new (C) SCMemProjNode(store_eden_top); 1.189 transform_later(store_eden_top); 1.190 1.191 // If not using TLABs, check to see if there was contention. 1.192 - IfNode *contention_iff = new (C, 2) IfNode (needgc_false, contention_check, PROB_MIN, COUNT_UNKNOWN); 1.193 + IfNode *contention_iff = new (C) IfNode (needgc_false, contention_check, PROB_MIN, COUNT_UNKNOWN); 1.194 transform_later(contention_iff); 1.195 - Node *contention_true = new (C, 1) IfTrueNode(contention_iff); 1.196 + Node *contention_true = new (C) IfTrueNode(contention_iff); 1.197 transform_later(contention_true); 1.198 // If contention, loopback and try again. 1.199 contended_region->init_req(contended_loopback_path, contention_true); 1.200 contended_phi_rawmem->init_req(contended_loopback_path, store_eden_top); 1.201 1.202 // Fast-path succeeded with no contention! 1.203 - Node *contention_false = new (C, 1) IfFalseNode(contention_iff); 1.204 + Node *contention_false = new (C) IfFalseNode(contention_iff); 1.205 transform_later(contention_false); 1.206 fast_oop_ctrl = contention_false; 1.207 1.208 // Bump total allocated bytes for this thread 1.209 - Node* thread = new (C, 1) ThreadLocalNode(); 1.210 + Node* thread = new (C) ThreadLocalNode(); 1.211 transform_later(thread); 1.212 Node* alloc_bytes_adr = basic_plus_adr(top()/*not oop*/, thread, 1.213 in_bytes(JavaThread::allocated_bytes_offset())); 1.214 @@ -1293,10 +1292,10 @@ 1.215 #ifdef _LP64 1.216 Node* alloc_size = size_in_bytes; 1.217 #else 1.218 - Node* alloc_size = new (C, 2) ConvI2LNode(size_in_bytes); 1.219 + Node* alloc_size = new (C) ConvI2LNode(size_in_bytes); 1.220 transform_later(alloc_size); 1.221 #endif 1.222 - Node* new_alloc_bytes = new (C, 3) AddLNode(alloc_bytes, alloc_size); 1.223 + Node* new_alloc_bytes = new (C) AddLNode(alloc_bytes, alloc_size); 1.224 transform_later(new_alloc_bytes); 1.225 fast_oop_rawmem = make_store(fast_oop_ctrl, store_eden_top, alloc_bytes_adr, 1.226 0, new_alloc_bytes, T_LONG); 1.227 @@ -1323,9 +1322,9 @@ 1.228 1.229 mb->init_req(TypeFunc::Memory, fast_oop_rawmem); 1.230 mb->init_req(TypeFunc::Control, fast_oop_ctrl); 1.231 - fast_oop_ctrl = new (C, 1) ProjNode(mb,TypeFunc::Control); 1.232 + fast_oop_ctrl = new (C) ProjNode(mb,TypeFunc::Control); 1.233 transform_later(fast_oop_ctrl); 1.234 - fast_oop_rawmem = new (C, 1) ProjNode(mb,TypeFunc::Memory); 1.235 + fast_oop_rawmem = new (C) ProjNode(mb,TypeFunc::Memory); 1.236 transform_later(fast_oop_rawmem); 1.237 } else { 1.238 // Add the MemBarStoreStore after the InitializeNode so that 1.239 @@ -1339,9 +1338,9 @@ 1.240 MemBarNode* mb = MemBarNode::make(C, Op_MemBarStoreStore, Compile::AliasIdxBot); 1.241 transform_later(mb); 1.242 1.243 - Node* ctrl = new (C, 1) ProjNode(init,TypeFunc::Control); 1.244 + Node* ctrl = new (C) ProjNode(init,TypeFunc::Control); 1.245 transform_later(ctrl); 1.246 - Node* mem = new (C, 1) ProjNode(init,TypeFunc::Memory); 1.247 + Node* mem = new (C) ProjNode(init,TypeFunc::Memory); 1.248 transform_later(mem); 1.249 1.250 // The MemBarStoreStore depends on control and memory coming 1.251 @@ -1349,9 +1348,9 @@ 1.252 mb->init_req(TypeFunc::Memory, mem); 1.253 mb->init_req(TypeFunc::Control, ctrl); 1.254 1.255 - ctrl = new (C, 1) ProjNode(mb,TypeFunc::Control); 1.256 + ctrl = new (C) ProjNode(mb,TypeFunc::Control); 1.257 transform_later(ctrl); 1.258 - mem = new (C, 1) ProjNode(mb,TypeFunc::Memory); 1.259 + mem = new (C) ProjNode(mb,TypeFunc::Memory); 1.260 transform_later(mem); 1.261 1.262 // All nodes that depended on the InitializeNode for control 1.263 @@ -1365,13 +1364,13 @@ 1.264 if (C->env()->dtrace_extended_probes()) { 1.265 // Slow-path call 1.266 int size = TypeFunc::Parms + 2; 1.267 - CallLeafNode *call = new (C, size) CallLeafNode(OptoRuntime::dtrace_object_alloc_Type(), 1.268 - CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc_base), 1.269 - "dtrace_object_alloc", 1.270 - TypeRawPtr::BOTTOM); 1.271 + CallLeafNode *call = new (C) CallLeafNode(OptoRuntime::dtrace_object_alloc_Type(), 1.272 + CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc_base), 1.273 + "dtrace_object_alloc", 1.274 + TypeRawPtr::BOTTOM); 1.275 1.276 // Get base of thread-local storage area 1.277 - Node* thread = new (C, 1) ThreadLocalNode(); 1.278 + Node* thread = new (C) ThreadLocalNode(); 1.279 transform_later(thread); 1.280 1.281 call->init_req(TypeFunc::Parms+0, thread); 1.282 @@ -1382,9 +1381,9 @@ 1.283 call->init_req(TypeFunc::ReturnAdr, alloc->in(TypeFunc::ReturnAdr)); 1.284 call->init_req(TypeFunc::FramePtr, alloc->in(TypeFunc::FramePtr)); 1.285 transform_later(call); 1.286 - fast_oop_ctrl = new (C, 1) ProjNode(call,TypeFunc::Control); 1.287 + fast_oop_ctrl = new (C) ProjNode(call,TypeFunc::Control); 1.288 transform_later(fast_oop_ctrl); 1.289 - fast_oop_rawmem = new (C, 1) ProjNode(call,TypeFunc::Memory); 1.290 + fast_oop_rawmem = new (C) ProjNode(call,TypeFunc::Memory); 1.291 transform_later(fast_oop_rawmem); 1.292 } 1.293 1.294 @@ -1399,11 +1398,10 @@ 1.295 } 1.296 1.297 // Generate slow-path call 1.298 - CallNode *call = new (C, slow_call_type->domain()->cnt()) 1.299 - CallStaticJavaNode(slow_call_type, slow_call_address, 1.300 - OptoRuntime::stub_name(slow_call_address), 1.301 - alloc->jvms()->bci(), 1.302 - TypePtr::BOTTOM); 1.303 + CallNode *call = new (C) CallStaticJavaNode(slow_call_type, slow_call_address, 1.304 + OptoRuntime::stub_name(slow_call_address), 1.305 + alloc->jvms()->bci(), 1.306 + TypePtr::BOTTOM); 1.307 call->init_req( TypeFunc::Control, slow_region ); 1.308 call->init_req( TypeFunc::I_O , top() ) ; // does no i/o 1.309 call->init_req( TypeFunc::Memory , slow_mem ); // may gc ptrs 1.310 @@ -1457,7 +1455,7 @@ 1.311 // _memproj_catchall so we end up with a call that has only 1 memory projection. 1.312 if (_memproj_catchall != NULL ) { 1.313 if (_memproj_fallthrough == NULL) { 1.314 - _memproj_fallthrough = new (C, 1) ProjNode(call, TypeFunc::Memory); 1.315 + _memproj_fallthrough = new (C) ProjNode(call, TypeFunc::Memory); 1.316 transform_later(_memproj_fallthrough); 1.317 } 1.318 for (DUIterator_Fast imax, i = _memproj_catchall->fast_outs(imax); i < imax; i++) { 1.319 @@ -1489,7 +1487,7 @@ 1.320 // _ioproj_catchall so we end up with a call that has only 1 i_o projection. 1.321 if (_ioproj_catchall != NULL ) { 1.322 if (_ioproj_fallthrough == NULL) { 1.323 - _ioproj_fallthrough = new (C, 1) ProjNode(call, TypeFunc::I_O); 1.324 + _ioproj_fallthrough = new (C) ProjNode(call, TypeFunc::I_O); 1.325 transform_later(_ioproj_fallthrough); 1.326 } 1.327 for (DUIterator_Fast imax, i = _ioproj_catchall->fast_outs(imax); i < imax; i++) { 1.328 @@ -1623,46 +1621,46 @@ 1.329 // As an allocation hits the watermark, we will prefetch starting 1.330 // at a "distance" away from watermark. 1.331 1.332 - Node *pf_region = new (C, 3) RegionNode(3); 1.333 - Node *pf_phi_rawmem = new (C, 3) PhiNode( pf_region, Type::MEMORY, 1.334 + Node *pf_region = new (C) RegionNode(3); 1.335 + Node *pf_phi_rawmem = new (C) PhiNode( pf_region, Type::MEMORY, 1.336 TypeRawPtr::BOTTOM ); 1.337 // I/O is used for Prefetch 1.338 - Node *pf_phi_abio = new (C, 3) PhiNode( pf_region, Type::ABIO ); 1.339 + Node *pf_phi_abio = new (C) PhiNode( pf_region, Type::ABIO ); 1.340 1.341 - Node *thread = new (C, 1) ThreadLocalNode(); 1.342 + Node *thread = new (C) ThreadLocalNode(); 1.343 transform_later(thread); 1.344 1.345 - Node *eden_pf_adr = new (C, 4) AddPNode( top()/*not oop*/, thread, 1.346 + Node *eden_pf_adr = new (C) AddPNode( top()/*not oop*/, thread, 1.347 _igvn.MakeConX(in_bytes(JavaThread::tlab_pf_top_offset())) ); 1.348 transform_later(eden_pf_adr); 1.349 1.350 - Node *old_pf_wm = new (C, 3) LoadPNode( needgc_false, 1.351 + Node *old_pf_wm = new (C) LoadPNode( needgc_false, 1.352 contended_phi_rawmem, eden_pf_adr, 1.353 TypeRawPtr::BOTTOM, TypeRawPtr::BOTTOM ); 1.354 transform_later(old_pf_wm); 1.355 1.356 // check against new_eden_top 1.357 - Node *need_pf_cmp = new (C, 3) CmpPNode( new_eden_top, old_pf_wm ); 1.358 + Node *need_pf_cmp = new (C) CmpPNode( new_eden_top, old_pf_wm ); 1.359 transform_later(need_pf_cmp); 1.360 - Node *need_pf_bol = new (C, 2) BoolNode( need_pf_cmp, BoolTest::ge ); 1.361 + Node *need_pf_bol = new (C) BoolNode( need_pf_cmp, BoolTest::ge ); 1.362 transform_later(need_pf_bol); 1.363 - IfNode *need_pf_iff = new (C, 2) IfNode( needgc_false, need_pf_bol, 1.364 + IfNode *need_pf_iff = new (C) IfNode( needgc_false, need_pf_bol, 1.365 PROB_UNLIKELY_MAG(4), COUNT_UNKNOWN ); 1.366 transform_later(need_pf_iff); 1.367 1.368 // true node, add prefetchdistance 1.369 - Node *need_pf_true = new (C, 1) IfTrueNode( need_pf_iff ); 1.370 + Node *need_pf_true = new (C) IfTrueNode( need_pf_iff ); 1.371 transform_later(need_pf_true); 1.372 1.373 - Node *need_pf_false = new (C, 1) IfFalseNode( need_pf_iff ); 1.374 + Node *need_pf_false = new (C) IfFalseNode( need_pf_iff ); 1.375 transform_later(need_pf_false); 1.376 1.377 - Node *new_pf_wmt = new (C, 4) AddPNode( top(), old_pf_wm, 1.378 + Node *new_pf_wmt = new (C) AddPNode( top(), old_pf_wm, 1.379 _igvn.MakeConX(AllocatePrefetchDistance) ); 1.380 transform_later(new_pf_wmt ); 1.381 new_pf_wmt->set_req(0, need_pf_true); 1.382 1.383 - Node *store_new_wmt = new (C, 4) StorePNode( need_pf_true, 1.384 + Node *store_new_wmt = new (C) StorePNode( need_pf_true, 1.385 contended_phi_rawmem, eden_pf_adr, 1.386 TypeRawPtr::BOTTOM, new_pf_wmt ); 1.387 transform_later(store_new_wmt); 1.388 @@ -1677,10 +1675,10 @@ 1.389 uint distance = 0; 1.390 1.391 for ( uint i = 0; i < lines; i++ ) { 1.392 - prefetch_adr = new (C, 4) AddPNode( old_pf_wm, new_pf_wmt, 1.393 + prefetch_adr = new (C) AddPNode( old_pf_wm, new_pf_wmt, 1.394 _igvn.MakeConX(distance) ); 1.395 transform_later(prefetch_adr); 1.396 - prefetch = new (C, 3) PrefetchAllocationNode( i_o, prefetch_adr ); 1.397 + prefetch = new (C) PrefetchAllocationNode( i_o, prefetch_adr ); 1.398 transform_later(prefetch); 1.399 distance += step_size; 1.400 i_o = prefetch; 1.401 @@ -1703,9 +1701,9 @@ 1.402 } else if( UseTLAB && AllocatePrefetchStyle == 3 ) { 1.403 // Insert a prefetch for each allocation. 1.404 // This code is used for Sparc with BIS. 1.405 - Node *pf_region = new (C, 3) RegionNode(3); 1.406 - Node *pf_phi_rawmem = new (C, 3) PhiNode( pf_region, Type::MEMORY, 1.407 - TypeRawPtr::BOTTOM ); 1.408 + Node *pf_region = new (C) RegionNode(3); 1.409 + Node *pf_phi_rawmem = new (C) PhiNode( pf_region, Type::MEMORY, 1.410 + TypeRawPtr::BOTTOM ); 1.411 1.412 // Generate several prefetch instructions. 1.413 uint lines = (length != NULL) ? AllocatePrefetchLines : AllocateInstancePrefetchLines; 1.414 @@ -1713,29 +1711,29 @@ 1.415 uint distance = AllocatePrefetchDistance; 1.416 1.417 // Next cache address. 1.418 - Node *cache_adr = new (C, 4) AddPNode(old_eden_top, old_eden_top, 1.419 + Node *cache_adr = new (C) AddPNode(old_eden_top, old_eden_top, 1.420 _igvn.MakeConX(distance)); 1.421 transform_later(cache_adr); 1.422 - cache_adr = new (C, 2) CastP2XNode(needgc_false, cache_adr); 1.423 + cache_adr = new (C) CastP2XNode(needgc_false, cache_adr); 1.424 transform_later(cache_adr); 1.425 Node* mask = _igvn.MakeConX(~(intptr_t)(step_size-1)); 1.426 - cache_adr = new (C, 3) AndXNode(cache_adr, mask); 1.427 + cache_adr = new (C) AndXNode(cache_adr, mask); 1.428 transform_later(cache_adr); 1.429 - cache_adr = new (C, 2) CastX2PNode(cache_adr); 1.430 + cache_adr = new (C) CastX2PNode(cache_adr); 1.431 transform_later(cache_adr); 1.432 1.433 // Prefetch 1.434 - Node *prefetch = new (C, 3) PrefetchAllocationNode( contended_phi_rawmem, cache_adr ); 1.435 + Node *prefetch = new (C) PrefetchAllocationNode( contended_phi_rawmem, cache_adr ); 1.436 prefetch->set_req(0, needgc_false); 1.437 transform_later(prefetch); 1.438 contended_phi_rawmem = prefetch; 1.439 Node *prefetch_adr; 1.440 distance = step_size; 1.441 for ( uint i = 1; i < lines; i++ ) { 1.442 - prefetch_adr = new (C, 4) AddPNode( cache_adr, cache_adr, 1.443 + prefetch_adr = new (C) AddPNode( cache_adr, cache_adr, 1.444 _igvn.MakeConX(distance) ); 1.445 transform_later(prefetch_adr); 1.446 - prefetch = new (C, 3) PrefetchAllocationNode( contended_phi_rawmem, prefetch_adr ); 1.447 + prefetch = new (C) PrefetchAllocationNode( contended_phi_rawmem, prefetch_adr ); 1.448 transform_later(prefetch); 1.449 distance += step_size; 1.450 contended_phi_rawmem = prefetch; 1.451 @@ -1749,10 +1747,10 @@ 1.452 uint step_size = AllocatePrefetchStepSize; 1.453 uint distance = AllocatePrefetchDistance; 1.454 for ( uint i = 0; i < lines; i++ ) { 1.455 - prefetch_adr = new (C, 4) AddPNode( old_eden_top, new_eden_top, 1.456 + prefetch_adr = new (C) AddPNode( old_eden_top, new_eden_top, 1.457 _igvn.MakeConX(distance) ); 1.458 transform_later(prefetch_adr); 1.459 - prefetch = new (C, 3) PrefetchAllocationNode( i_o, prefetch_adr ); 1.460 + prefetch = new (C) PrefetchAllocationNode( i_o, prefetch_adr ); 1.461 // Do not let it float too high, since if eden_top == eden_end, 1.462 // both might be null. 1.463 if( i == 0 ) { // Set control for first prefetch, next follows it 1.464 @@ -2101,12 +2099,12 @@ 1.465 * } 1.466 */ 1.467 1.468 - region = new (C, 5) RegionNode(5); 1.469 + region = new (C) RegionNode(5); 1.470 // create a Phi for the memory state 1.471 - mem_phi = new (C, 5) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.472 + mem_phi = new (C) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.473 1.474 - Node* fast_lock_region = new (C, 3) RegionNode(3); 1.475 - Node* fast_lock_mem_phi = new (C, 3) PhiNode( fast_lock_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.476 + Node* fast_lock_region = new (C) RegionNode(3); 1.477 + Node* fast_lock_mem_phi = new (C) PhiNode( fast_lock_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.478 1.479 // First, check mark word for the biased lock pattern. 1.480 Node* mark_node = make_load(ctrl, mem, obj, oopDesc::mark_offset_in_bytes(), TypeX_X, TypeX_X->basic_type()); 1.481 @@ -2136,10 +2134,10 @@ 1.482 } 1.483 Node *proto_node = make_load(ctrl, mem, klass_node, in_bytes(Klass::prototype_header_offset()), TypeX_X, TypeX_X->basic_type()); 1.484 1.485 - Node* thread = transform_later(new (C, 1) ThreadLocalNode()); 1.486 - Node* cast_thread = transform_later(new (C, 2) CastP2XNode(ctrl, thread)); 1.487 - Node* o_node = transform_later(new (C, 3) OrXNode(cast_thread, proto_node)); 1.488 - Node* x_node = transform_later(new (C, 3) XorXNode(o_node, mark_node)); 1.489 + Node* thread = transform_later(new (C) ThreadLocalNode()); 1.490 + Node* cast_thread = transform_later(new (C) CastP2XNode(ctrl, thread)); 1.491 + Node* o_node = transform_later(new (C) OrXNode(cast_thread, proto_node)); 1.492 + Node* x_node = transform_later(new (C) XorXNode(o_node, mark_node)); 1.493 1.494 // Get slow path - mark word does NOT match the value. 1.495 Node* not_biased_ctrl = opt_bits_test(ctrl, region, 3, x_node, 1.496 @@ -2162,17 +2160,17 @@ 1.497 // We are going to try to reset the mark of this object to the prototype 1.498 // value and fall through to the CAS-based locking scheme. 1.499 Node* adr = basic_plus_adr(obj, oopDesc::mark_offset_in_bytes()); 1.500 - Node* cas = new (C, 5) StoreXConditionalNode(not_biased_ctrl, mem, adr, 1.501 - proto_node, mark_node); 1.502 + Node* cas = new (C) StoreXConditionalNode(not_biased_ctrl, mem, adr, 1.503 + proto_node, mark_node); 1.504 transform_later(cas); 1.505 - Node* proj = transform_later( new (C, 1) SCMemProjNode(cas)); 1.506 + Node* proj = transform_later( new (C) SCMemProjNode(cas)); 1.507 fast_lock_mem_phi->init_req(2, proj); 1.508 1.509 1.510 // Second, check epoch bits. 1.511 - Node* rebiased_region = new (C, 3) RegionNode(3); 1.512 - Node* old_phi = new (C, 3) PhiNode( rebiased_region, TypeX_X); 1.513 - Node* new_phi = new (C, 3) PhiNode( rebiased_region, TypeX_X); 1.514 + Node* rebiased_region = new (C) RegionNode(3); 1.515 + Node* old_phi = new (C) PhiNode( rebiased_region, TypeX_X); 1.516 + Node* new_phi = new (C) PhiNode( rebiased_region, TypeX_X); 1.517 1.518 // Get slow path - mark word does NOT match epoch bits. 1.519 Node* epoch_ctrl = opt_bits_test(ctrl, rebiased_region, 1, x_node, 1.520 @@ -2189,9 +2187,9 @@ 1.521 Node* cmask = MakeConX(markOopDesc::biased_lock_mask_in_place | 1.522 markOopDesc::age_mask_in_place | 1.523 markOopDesc::epoch_mask_in_place); 1.524 - Node* old = transform_later(new (C, 3) AndXNode(mark_node, cmask)); 1.525 - cast_thread = transform_later(new (C, 2) CastP2XNode(ctrl, thread)); 1.526 - Node* new_mark = transform_later(new (C, 3) OrXNode(cast_thread, old)); 1.527 + Node* old = transform_later(new (C) AndXNode(mark_node, cmask)); 1.528 + cast_thread = transform_later(new (C) CastP2XNode(ctrl, thread)); 1.529 + Node* new_mark = transform_later(new (C) OrXNode(cast_thread, old)); 1.530 old_phi->init_req(1, old); 1.531 new_phi->init_req(1, new_mark); 1.532 1.533 @@ -2201,10 +2199,10 @@ 1.534 1.535 // Try to acquire the bias of the object using an atomic operation. 1.536 // If this fails we will go in to the runtime to revoke the object's bias. 1.537 - cas = new (C, 5) StoreXConditionalNode(rebiased_region, mem, adr, 1.538 + cas = new (C) StoreXConditionalNode(rebiased_region, mem, adr, 1.539 new_phi, old_phi); 1.540 transform_later(cas); 1.541 - proj = transform_later( new (C, 1) SCMemProjNode(cas)); 1.542 + proj = transform_later( new (C) SCMemProjNode(cas)); 1.543 1.544 // Get slow path - Failed to CAS. 1.545 not_biased_ctrl = opt_bits_test(rebiased_region, region, 4, cas, 0, 0); 1.546 @@ -2212,8 +2210,8 @@ 1.547 // region->in(4) is set to fast path - the object is rebiased to the current thread. 1.548 1.549 // Failed to CAS. 1.550 - slow_path = new (C, 3) RegionNode(3); 1.551 - Node *slow_mem = new (C, 3) PhiNode( slow_path, Type::MEMORY, TypeRawPtr::BOTTOM); 1.552 + slow_path = new (C) RegionNode(3); 1.553 + Node *slow_mem = new (C) PhiNode( slow_path, Type::MEMORY, TypeRawPtr::BOTTOM); 1.554 1.555 slow_path->init_req(1, not_biased_ctrl); // Capture slow-control 1.556 slow_mem->init_req(1, proj); 1.557 @@ -2237,9 +2235,9 @@ 1.558 lock->set_req(TypeFunc::Memory, slow_mem); 1.559 1.560 } else { 1.561 - region = new (C, 3) RegionNode(3); 1.562 + region = new (C) RegionNode(3); 1.563 // create a Phi for the memory state 1.564 - mem_phi = new (C, 3) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.565 + mem_phi = new (C) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.566 1.567 // Optimize test; set region slot 2 1.568 slow_path = opt_bits_test(ctrl, region, 2, flock, 0, 0); 1.569 @@ -2270,7 +2268,7 @@ 1.570 transform_later(region); 1.571 _igvn.replace_node(_fallthroughproj, region); 1.572 1.573 - Node *memproj = transform_later( new(C, 1) ProjNode(call, TypeFunc::Memory) ); 1.574 + Node *memproj = transform_later( new(C) ProjNode(call, TypeFunc::Memory) ); 1.575 mem_phi->init_req(1, memproj ); 1.576 transform_later(mem_phi); 1.577 _igvn.replace_node(_memproj_fallthrough, mem_phi); 1.578 @@ -2295,9 +2293,9 @@ 1.579 if (UseOptoBiasInlining) { 1.580 // Check for biased locking unlock case, which is a no-op. 1.581 // See the full description in MacroAssembler::biased_locking_exit(). 1.582 - region = new (C, 4) RegionNode(4); 1.583 + region = new (C) RegionNode(4); 1.584 // create a Phi for the memory state 1.585 - mem_phi = new (C, 4) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.586 + mem_phi = new (C) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.587 mem_phi->init_req(3, mem); 1.588 1.589 Node* mark_node = make_load(ctrl, mem, obj, oopDesc::mark_offset_in_bytes(), TypeX_X, TypeX_X->basic_type()); 1.590 @@ -2305,12 +2303,12 @@ 1.591 markOopDesc::biased_lock_mask_in_place, 1.592 markOopDesc::biased_lock_pattern); 1.593 } else { 1.594 - region = new (C, 3) RegionNode(3); 1.595 + region = new (C) RegionNode(3); 1.596 // create a Phi for the memory state 1.597 - mem_phi = new (C, 3) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.598 + mem_phi = new (C) PhiNode( region, Type::MEMORY, TypeRawPtr::BOTTOM); 1.599 } 1.600 1.601 - FastUnlockNode *funlock = new (C, 3) FastUnlockNode( ctrl, obj, box ); 1.602 + FastUnlockNode *funlock = new (C) FastUnlockNode( ctrl, obj, box ); 1.603 funlock = transform_later( funlock )->as_FastUnlock(); 1.604 // Optimize test; set region slot 2 1.605 Node *slow_path = opt_bits_test(ctrl, region, 2, funlock, 0, 0); 1.606 @@ -2335,7 +2333,7 @@ 1.607 transform_later(region); 1.608 _igvn.replace_node(_fallthroughproj, region); 1.609 1.610 - Node *memproj = transform_later( new(C, 1) ProjNode(call, TypeFunc::Memory) ); 1.611 + Node *memproj = transform_later( new(C) ProjNode(call, TypeFunc::Memory) ); 1.612 mem_phi->init_req(1, memproj ); 1.613 mem_phi->init_req(2, mem); 1.614 transform_later(mem_phi);