src/share/vm/c1/c1_LIR.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6930772 Sdiff src/share/vm/c1

src/share/vm/c1/c1_LIR.cpp

Print this page




 698 // LIR_OpJavaCall
 699     case lir_static_call:
 700     case lir_optvirtual_call:
 701     case lir_icvirtual_call:
 702     case lir_virtual_call:
 703     case lir_dynamic_call: {
 704       LIR_OpJavaCall* opJavaCall = op->as_OpJavaCall();
 705       assert(opJavaCall != NULL, "must be");
 706 
 707       if (opJavaCall->_receiver->is_valid())     do_input(opJavaCall->_receiver);
 708 
 709       // only visit register parameters
 710       int n = opJavaCall->_arguments->length();
 711       for (int i = 0; i < n; i++) {
 712         if (!opJavaCall->_arguments->at(i)->is_pointer()) {
 713           do_input(*opJavaCall->_arguments->adr_at(i));
 714         }
 715       }
 716 
 717       if (opJavaCall->_info)                     do_info(opJavaCall->_info);
 718       if (opJavaCall->is_method_handle_invoke()) do_temp(FrameMap::method_handle_invoke_SP_save_opr());



 719       do_call();
 720       if (opJavaCall->_result->is_valid())       do_output(opJavaCall->_result);
 721 
 722       break;
 723     }
 724 
 725 
 726 // LIR_OpRTCall
 727     case lir_rtcall: {
 728       assert(op->as_OpRTCall() != NULL, "must be");
 729       LIR_OpRTCall* opRTCall = (LIR_OpRTCall*)op;
 730 
 731       // only visit register parameters
 732       int n = opRTCall->_arguments->length();
 733       for (int i = 0; i < n; i++) {
 734         if (!opRTCall->_arguments->at(i)->is_pointer()) {
 735           do_input(*opRTCall->_arguments->adr_at(i));
 736         }
 737       }
 738       if (opRTCall->_info)                     do_info(opRTCall->_info);




 698 // LIR_OpJavaCall
 699     case lir_static_call:
 700     case lir_optvirtual_call:
 701     case lir_icvirtual_call:
 702     case lir_virtual_call:
 703     case lir_dynamic_call: {
 704       LIR_OpJavaCall* opJavaCall = op->as_OpJavaCall();
 705       assert(opJavaCall != NULL, "must be");
 706 
 707       if (opJavaCall->_receiver->is_valid())     do_input(opJavaCall->_receiver);
 708 
 709       // only visit register parameters
 710       int n = opJavaCall->_arguments->length();
 711       for (int i = 0; i < n; i++) {
 712         if (!opJavaCall->_arguments->at(i)->is_pointer()) {
 713           do_input(*opJavaCall->_arguments->adr_at(i));
 714         }
 715       }
 716 
 717       if (opJavaCall->_info)                     do_info(opJavaCall->_info);
 718       if (opJavaCall->is_method_handle_invoke()) {
 719         LIR_Opr method_handle_invoke_SP_save_opr = FrameMap::method_handle_invoke_SP_save_opr();
 720         do_temp(method_handle_invoke_SP_save_opr);
 721       }
 722       do_call();
 723       if (opJavaCall->_result->is_valid())       do_output(opJavaCall->_result);
 724 
 725       break;
 726     }
 727 
 728 
 729 // LIR_OpRTCall
 730     case lir_rtcall: {
 731       assert(op->as_OpRTCall() != NULL, "must be");
 732       LIR_OpRTCall* opRTCall = (LIR_OpRTCall*)op;
 733 
 734       // only visit register parameters
 735       int n = opRTCall->_arguments->length();
 736       for (int i = 0; i < n; i++) {
 737         if (!opRTCall->_arguments->at(i)->is_pointer()) {
 738           do_input(*opRTCall->_arguments->adr_at(i));
 739         }
 740       }
 741       if (opRTCall->_info)                     do_info(opRTCall->_info);


src/share/vm/c1/c1_LIR.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File