< prev index next >

src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp

Print this page




1110   case vmIntrinsics::_fmaF:   __ fmaf(calc_input, calc_input1, calc_input2, calc_result); break;
1111   default:                    ShouldNotReachHere();
1112   }
1113 }
1114 
1115 void LIRGenerator::do_vectorizedMismatch(Intrinsic* x) {
1116   fatal("vectorizedMismatch intrinsic is not implemented on this platform");
1117 }
1118 
1119 // _i2l, _i2f, _i2d, _l2i, _l2f, _l2d, _f2i, _f2l, _f2d, _d2i, _d2l, _d2f
1120 // _i2b, _i2c, _i2s
1121 void LIRGenerator::do_Convert(Convert* x) {
1122   LIRItem value(x->value(), this);
1123   value.load_item();
1124   LIR_Opr input = value.result();
1125   LIR_Opr result = rlock(x);
1126 
1127   // arguments of lir_convert
1128   LIR_Opr conv_input = input;
1129   LIR_Opr conv_result = result;
1130   ConversionStub* stub = NULL;
1131 
1132   __ convert(x->op(), conv_input, conv_result);
1133 
1134   assert(result->is_virtual(), "result must be virtual register");
1135   set_result(x, result);
1136 }
1137 
1138 void LIRGenerator::do_NewInstance(NewInstance* x) {
1139 #ifndef PRODUCT
1140   if (PrintNotLoaded && !x->klass()->is_loaded()) {
1141     tty->print_cr("   ###class not loaded at new bci %d", x->printable_bci());
1142   }
1143 #endif
1144   CodeEmitInfo* info = state_for(x, x->state());
1145   LIR_Opr reg = result_register_for(x->type());
1146   new_instance(reg, x->klass(), x->is_unresolved(),
1147                        FrameMap::r2_oop_opr,
1148                        FrameMap::r5_oop_opr,
1149                        FrameMap::r4_oop_opr,
1150                        LIR_OprFact::illegalOpr,




1110   case vmIntrinsics::_fmaF:   __ fmaf(calc_input, calc_input1, calc_input2, calc_result); break;
1111   default:                    ShouldNotReachHere();
1112   }
1113 }
1114 
1115 void LIRGenerator::do_vectorizedMismatch(Intrinsic* x) {
1116   fatal("vectorizedMismatch intrinsic is not implemented on this platform");
1117 }
1118 
1119 // _i2l, _i2f, _i2d, _l2i, _l2f, _l2d, _f2i, _f2l, _f2d, _d2i, _d2l, _d2f
1120 // _i2b, _i2c, _i2s
1121 void LIRGenerator::do_Convert(Convert* x) {
1122   LIRItem value(x->value(), this);
1123   value.load_item();
1124   LIR_Opr input = value.result();
1125   LIR_Opr result = rlock(x);
1126 
1127   // arguments of lir_convert
1128   LIR_Opr conv_input = input;
1129   LIR_Opr conv_result = result;

1130 
1131   __ convert(x->op(), conv_input, conv_result);
1132 
1133   assert(result->is_virtual(), "result must be virtual register");
1134   set_result(x, result);
1135 }
1136 
1137 void LIRGenerator::do_NewInstance(NewInstance* x) {
1138 #ifndef PRODUCT
1139   if (PrintNotLoaded && !x->klass()->is_loaded()) {
1140     tty->print_cr("   ###class not loaded at new bci %d", x->printable_bci());
1141   }
1142 #endif
1143   CodeEmitInfo* info = state_for(x, x->state());
1144   LIR_Opr reg = result_register_for(x->type());
1145   new_instance(reg, x->klass(), x->is_unresolved(),
1146                        FrameMap::r2_oop_opr,
1147                        FrameMap::r5_oop_opr,
1148                        FrameMap::r4_oop_opr,
1149                        LIR_OprFact::illegalOpr,


< prev index next >