comparison src/share/vm/opto/output.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 137868b7aa6f
children e522a00b91aa 2aff40cb4703
comparison
equal deleted inserted replaced
6803:06f52c4d0e18 6804:e626685e9f6c
263 263
264 264
265 Node* Compile::call_zap_node(MachSafePointNode* node_to_check, int block_no) { 265 Node* Compile::call_zap_node(MachSafePointNode* node_to_check, int block_no) {
266 const TypeFunc *tf = OptoRuntime::zap_dead_locals_Type(); 266 const TypeFunc *tf = OptoRuntime::zap_dead_locals_Type();
267 CallStaticJavaNode* ideal_node = 267 CallStaticJavaNode* ideal_node =
268 new (this, tf->domain()->cnt()) CallStaticJavaNode( tf, 268 new (this) CallStaticJavaNode( tf,
269 OptoRuntime::zap_dead_locals_stub(_method->flags().is_native()), 269 OptoRuntime::zap_dead_locals_stub(_method->flags().is_native()),
270 "call zap dead locals stub", 0, TypePtr::BOTTOM); 270 "call zap dead locals stub", 0, TypePtr::BOTTOM);
271 // We need to copy the OopMap from the site we're zapping at. 271 // We need to copy the OopMap from the site we're zapping at.
272 // We have to make a copy, because the zap site might not be 272 // We have to make a copy, because the zap site might not be
273 // a call site, and zap_dead is a call site. 273 // a call site, and zap_dead is a call site.
274 OopMap* clone = node_to_check->oop_map()->deep_copy(); 274 OopMap* clone = node_to_check->oop_map()->deep_copy();
275 275
2682 if( pinch->Opcode() != Op_Node ) { // Or later-def/kill as pinch-point? 2682 if( pinch->Opcode() != Op_Node ) { // Or later-def/kill as pinch-point?
2683 later_def = pinch; // Must be def/kill as optimistic pinch-point 2683 later_def = pinch; // Must be def/kill as optimistic pinch-point
2684 if ( _pinch_free_list.size() > 0) { 2684 if ( _pinch_free_list.size() > 0) {
2685 pinch = _pinch_free_list.pop(); 2685 pinch = _pinch_free_list.pop();
2686 } else { 2686 } else {
2687 pinch = new (_cfg->C, 1) Node(1); // Pinch point to-be 2687 pinch = new (_cfg->C) Node(1); // Pinch point to-be
2688 } 2688 }
2689 if (pinch->_idx >= _regalloc->node_regs_max_index()) { 2689 if (pinch->_idx >= _regalloc->node_regs_max_index()) {
2690 _cfg->C->record_method_not_compilable("too many D-U pinch points"); 2690 _cfg->C->record_method_not_compilable("too many D-U pinch points");
2691 return; 2691 return;
2692 } 2692 }