873 if (opAllocArray->_len->is_valid()) { do_input(opAllocArray->_len);
874 do_temp(opAllocArray->_len);
875 }
876 if (opAllocArray->_tmp1->is_valid()) do_temp(opAllocArray->_tmp1);
877 if (opAllocArray->_tmp2->is_valid()) do_temp(opAllocArray->_tmp2);
878 if (opAllocArray->_tmp3->is_valid()) do_temp(opAllocArray->_tmp3);
879 if (opAllocArray->_tmp4->is_valid()) do_temp(opAllocArray->_tmp4);
880 if (opAllocArray->_result->is_valid()) do_output(opAllocArray->_result);
881 if (opAllocArray->_stub != nullptr) do_stub(opAllocArray->_stub);
882 break;
883 }
884
885 // LIR_OpLoadKlass
886 case lir_load_klass:
887 {
888 LIR_OpLoadKlass* opLoadKlass = op->as_OpLoadKlass();
889 assert(opLoadKlass != nullptr, "must be");
890
891 do_input(opLoadKlass->_obj);
892 do_output(opLoadKlass->_result);
893 if (opLoadKlass->_info) do_info(opLoadKlass->_info);
894 break;
895 }
896
897
898 // LIR_OpProfileCall:
899 case lir_profile_call: {
900 assert(op->as_OpProfileCall() != nullptr, "must be");
901 LIR_OpProfileCall* opProfileCall = (LIR_OpProfileCall*)op;
902
903 if (opProfileCall->_recv->is_valid()) do_temp(opProfileCall->_recv);
904 assert(opProfileCall->_mdo->is_valid(), "used"); do_temp(opProfileCall->_mdo);
905 assert(opProfileCall->_tmp1->is_valid(), "used"); do_temp(opProfileCall->_tmp1);
906 break;
907 }
908
909 // LIR_OpProfileType:
910 case lir_profile_type: {
911 assert(op->as_OpProfileType() != nullptr, "must be");
912 LIR_OpProfileType* opProfileType = (LIR_OpProfileType*)op;
1053 masm->emit_compare_and_swap(this);
1054 }
1055
1056 void LIR_Op3::emit_code(LIR_Assembler* masm) {
1057 masm->emit_op3(this);
1058 }
1059
1060 void LIR_Op4::emit_code(LIR_Assembler* masm) {
1061 masm->emit_op4(this);
1062 }
1063
1064 void LIR_OpLock::emit_code(LIR_Assembler* masm) {
1065 masm->emit_lock(this);
1066 if (stub()) {
1067 masm->append_code_stub(stub());
1068 }
1069 }
1070
1071 void LIR_OpLoadKlass::emit_code(LIR_Assembler* masm) {
1072 masm->emit_load_klass(this);
1073 }
1074
1075 #ifdef ASSERT
1076 void LIR_OpAssert::emit_code(LIR_Assembler* masm) {
1077 masm->emit_assert(this);
1078 }
1079 #endif
1080
1081 void LIR_OpDelay::emit_code(LIR_Assembler* masm) {
1082 masm->emit_delay(this);
1083 }
1084
1085 void LIR_OpProfileCall::emit_code(LIR_Assembler* masm) {
1086 masm->emit_profile_call(this);
1087 }
1088
1089 void LIR_OpProfileType::emit_code(LIR_Assembler* masm) {
1090 masm->emit_profile_type(this);
1091 }
1092
2029 in_opr1()->print(out); out->print(" ");
2030 in_opr2()->print(out); out->print(" ");
2031 in_opr3()->print(out); out->print(" ");
2032 in_opr4()->print(out); out->print(" ");
2033 result_opr()->print(out);
2034 }
2035
2036 void LIR_OpLock::print_instr(outputStream* out) const {
2037 hdr_opr()->print(out); out->print(" ");
2038 obj_opr()->print(out); out->print(" ");
2039 lock_opr()->print(out); out->print(" ");
2040 if (_scratch->is_valid()) {
2041 _scratch->print(out); out->print(" ");
2042 }
2043 out->print("[lbl:" INTPTR_FORMAT "]", p2i(stub()->entry()));
2044 }
2045
2046 void LIR_OpLoadKlass::print_instr(outputStream* out) const {
2047 obj()->print(out); out->print(" ");
2048 result_opr()->print(out); out->print(" ");
2049 }
2050
2051 #ifdef ASSERT
2052 void LIR_OpAssert::print_instr(outputStream* out) const {
2053 print_condition(out, condition()); out->print(" ");
2054 in_opr1()->print(out); out->print(" ");
2055 in_opr2()->print(out); out->print(", \"");
2056 out->print("%s", msg()); out->print("\"");
2057 }
2058 #endif
2059
2060
2061 void LIR_OpDelay::print_instr(outputStream* out) const {
2062 _op->print_on(out);
2063 }
2064
2065
2066 // LIR_OpProfileCall
2067 void LIR_OpProfileCall::print_instr(outputStream* out) const {
2068 profiled_method()->name()->print_symbol_on(out);
|
873 if (opAllocArray->_len->is_valid()) { do_input(opAllocArray->_len);
874 do_temp(opAllocArray->_len);
875 }
876 if (opAllocArray->_tmp1->is_valid()) do_temp(opAllocArray->_tmp1);
877 if (opAllocArray->_tmp2->is_valid()) do_temp(opAllocArray->_tmp2);
878 if (opAllocArray->_tmp3->is_valid()) do_temp(opAllocArray->_tmp3);
879 if (opAllocArray->_tmp4->is_valid()) do_temp(opAllocArray->_tmp4);
880 if (opAllocArray->_result->is_valid()) do_output(opAllocArray->_result);
881 if (opAllocArray->_stub != nullptr) do_stub(opAllocArray->_stub);
882 break;
883 }
884
885 // LIR_OpLoadKlass
886 case lir_load_klass:
887 {
888 LIR_OpLoadKlass* opLoadKlass = op->as_OpLoadKlass();
889 assert(opLoadKlass != nullptr, "must be");
890
891 do_input(opLoadKlass->_obj);
892 do_output(opLoadKlass->_result);
893 if (opLoadKlass->_stub) do_stub(opLoadKlass->_stub);
894 if (opLoadKlass->_info) do_info(opLoadKlass->_info);
895 break;
896 }
897
898
899 // LIR_OpProfileCall:
900 case lir_profile_call: {
901 assert(op->as_OpProfileCall() != nullptr, "must be");
902 LIR_OpProfileCall* opProfileCall = (LIR_OpProfileCall*)op;
903
904 if (opProfileCall->_recv->is_valid()) do_temp(opProfileCall->_recv);
905 assert(opProfileCall->_mdo->is_valid(), "used"); do_temp(opProfileCall->_mdo);
906 assert(opProfileCall->_tmp1->is_valid(), "used"); do_temp(opProfileCall->_tmp1);
907 break;
908 }
909
910 // LIR_OpProfileType:
911 case lir_profile_type: {
912 assert(op->as_OpProfileType() != nullptr, "must be");
913 LIR_OpProfileType* opProfileType = (LIR_OpProfileType*)op;
1054 masm->emit_compare_and_swap(this);
1055 }
1056
1057 void LIR_Op3::emit_code(LIR_Assembler* masm) {
1058 masm->emit_op3(this);
1059 }
1060
1061 void LIR_Op4::emit_code(LIR_Assembler* masm) {
1062 masm->emit_op4(this);
1063 }
1064
1065 void LIR_OpLock::emit_code(LIR_Assembler* masm) {
1066 masm->emit_lock(this);
1067 if (stub()) {
1068 masm->append_code_stub(stub());
1069 }
1070 }
1071
1072 void LIR_OpLoadKlass::emit_code(LIR_Assembler* masm) {
1073 masm->emit_load_klass(this);
1074 if (stub()) {
1075 masm->append_code_stub(stub());
1076 }
1077 }
1078
1079 #ifdef ASSERT
1080 void LIR_OpAssert::emit_code(LIR_Assembler* masm) {
1081 masm->emit_assert(this);
1082 }
1083 #endif
1084
1085 void LIR_OpDelay::emit_code(LIR_Assembler* masm) {
1086 masm->emit_delay(this);
1087 }
1088
1089 void LIR_OpProfileCall::emit_code(LIR_Assembler* masm) {
1090 masm->emit_profile_call(this);
1091 }
1092
1093 void LIR_OpProfileType::emit_code(LIR_Assembler* masm) {
1094 masm->emit_profile_type(this);
1095 }
1096
2033 in_opr1()->print(out); out->print(" ");
2034 in_opr2()->print(out); out->print(" ");
2035 in_opr3()->print(out); out->print(" ");
2036 in_opr4()->print(out); out->print(" ");
2037 result_opr()->print(out);
2038 }
2039
2040 void LIR_OpLock::print_instr(outputStream* out) const {
2041 hdr_opr()->print(out); out->print(" ");
2042 obj_opr()->print(out); out->print(" ");
2043 lock_opr()->print(out); out->print(" ");
2044 if (_scratch->is_valid()) {
2045 _scratch->print(out); out->print(" ");
2046 }
2047 out->print("[lbl:" INTPTR_FORMAT "]", p2i(stub()->entry()));
2048 }
2049
2050 void LIR_OpLoadKlass::print_instr(outputStream* out) const {
2051 obj()->print(out); out->print(" ");
2052 result_opr()->print(out); out->print(" ");
2053 if (stub()) {
2054 out->print("[lbl:" INTPTR_FORMAT "]", p2i(stub()->entry()));
2055 }
2056 }
2057
2058 #ifdef ASSERT
2059 void LIR_OpAssert::print_instr(outputStream* out) const {
2060 print_condition(out, condition()); out->print(" ");
2061 in_opr1()->print(out); out->print(" ");
2062 in_opr2()->print(out); out->print(", \"");
2063 out->print("%s", msg()); out->print("\"");
2064 }
2065 #endif
2066
2067
2068 void LIR_OpDelay::print_instr(outputStream* out) const {
2069 _op->print_on(out);
2070 }
2071
2072
2073 // LIR_OpProfileCall
2074 void LIR_OpProfileCall::print_instr(outputStream* out) const {
2075 profiled_method()->name()->print_symbol_on(out);
|