hotspot/src/share/vm/c1/c1_LIR.cpp
changeset 30305 b92a97e1e9cb
parent 29474 81a5c5330d08
child 33089 f4e956ed8b43
equal deleted inserted replaced
30302:ecca632210ef 30305:b92a97e1e9cb
   456 }
   456 }
   457 
   457 
   458 //-------------------visits--------------------------
   458 //-------------------visits--------------------------
   459 
   459 
   460 // complete rework of LIR instruction visitor.
   460 // complete rework of LIR instruction visitor.
   461 // The virtual calls for each instruction type is replaced by a big
   461 // The virtual call for each instruction type is replaced by a big
   462 // switch that adds the operands for each instruction
   462 // switch that adds the operands for each instruction
   463 
   463 
   464 void LIR_OpVisitState::visit(LIR_Op* op) {
   464 void LIR_OpVisitState::visit(LIR_Op* op) {
   465   // copy information from the LIR_Op
   465   // copy information from the LIR_Op
   466   reset();
   466   reset();
   823           do_input(*opJavaCall->_arguments->adr_at(i));
   823           do_input(*opJavaCall->_arguments->adr_at(i));
   824         }
   824         }
   825       }
   825       }
   826 
   826 
   827       if (opJavaCall->_info)                     do_info(opJavaCall->_info);
   827       if (opJavaCall->_info)                     do_info(opJavaCall->_info);
   828       if (opJavaCall->is_method_handle_invoke()) {
   828       if (FrameMap::method_handle_invoke_SP_save_opr() != LIR_OprFact::illegalOpr &&
       
   829           opJavaCall->is_method_handle_invoke()) {
   829         opJavaCall->_method_handle_invoke_SP_save_opr = FrameMap::method_handle_invoke_SP_save_opr();
   830         opJavaCall->_method_handle_invoke_SP_save_opr = FrameMap::method_handle_invoke_SP_save_opr();
   830         do_temp(opJavaCall->_method_handle_invoke_SP_save_opr);
   831         do_temp(opJavaCall->_method_handle_invoke_SP_save_opr);
   831       }
   832       }
   832       do_call();
   833       do_call();
   833       if (opJavaCall->_result->is_valid())       do_output(opJavaCall->_result);
   834       if (opJavaCall->_result->is_valid())       do_output(opJavaCall->_result);