src/share/vm/opto/output.cpp

changeset 4115
e626685e9f6c
parent 4103
137868b7aa6f
child 4315
2aff40cb4703
equal deleted inserted replaced
4114:06f52c4d0e18 4115: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 }

mercurial