src/share/vm/c1/c1_LIR.cpp

changeset 9157
2966b0be4027
parent 9143
239e32ede77d
child 9167
1336d592e5b8
equal deleted inserted replaced
9156:7319742f34f3 9157:2966b0be4027
668 if (opBranch->_stub != NULL) opBranch->stub()->visit(this); 668 if (opBranch->_stub != NULL) opBranch->stub()->visit(this);
669 669
670 break; 670 break;
671 } 671 }
672 672
673 #ifdef MIPS
674 case lir_cmove_mips:
675 {
676 assert(op->as_Op4() != NULL, "must be");
677 LIR_Op4* op4 = (LIR_Op4*)op;
678
679 assert(op4->_info == NULL, "must be");
680 assert(op4->_opr1->is_valid() && op4->_opr2->is_valid() && op4->_opr3->is_valid() && op4->_opr4->is_valid() && op4->_result->is_valid(), "used");
681
682 do_input(op4->_opr1);
683 do_input(op4->_opr2);
684 do_input(op4->_opr3);
685 do_input(op4->_opr4);
686 if (op4->_tmp1->is_valid()) do_temp(op4->_tmp1);
687 if (op4->_tmp2->is_valid()) do_temp(op4->_tmp2);
688 if (op4->_tmp3->is_valid()) do_temp(op4->_tmp3);
689 if (op4->_tmp4->is_valid()) do_temp(op4->_tmp4);
690 if (op4->_tmp5->is_valid()) do_temp(op4->_tmp5);
691 do_output(op4->_result);
692
693 break;
694 }
695 #endif
673 696
674 // LIR_OpAllocObj 697 // LIR_OpAllocObj
675 case lir_alloc_object: 698 case lir_alloc_object:
676 { 699 {
677 assert(op->as_OpAllocObj() != NULL, "must be"); 700 assert(op->as_OpAllocObj() != NULL, "must be");
1241 } 1264 }
1242 1265
1243 void LIR_Op3::emit_code(LIR_Assembler* masm) { 1266 void LIR_Op3::emit_code(LIR_Assembler* masm) {
1244 masm->emit_op3(this); 1267 masm->emit_op3(this);
1245 } 1268 }
1269
1270 #ifdef MIPS
1271 void LIR_Op4::emit_code(LIR_Assembler* masm) {
1272 masm->emit_op4(this);
1273 }
1274 #endif
1246 1275
1247 void LIR_OpLock::emit_code(LIR_Assembler* masm) { 1276 void LIR_OpLock::emit_code(LIR_Assembler* masm) {
1248 masm->emit_lock(this); 1277 masm->emit_lock(this);
1249 if (stub()) { 1278 if (stub()) {
1250 masm->append_code_stub(stub()); 1279 masm->append_code_stub(stub());
1973 #ifdef MIPS 2002 #ifdef MIPS
1974 case lir_frem: s = "frem"; break; 2003 case lir_frem: s = "frem"; break;
1975 #endif 2004 #endif
1976 case lir_idiv: s = "idiv"; break; 2005 case lir_idiv: s = "idiv"; break;
1977 case lir_irem: s = "irem"; break; 2006 case lir_irem: s = "irem"; break;
2007 #ifdef MIPS
2008 // LIR_Op4
2009 case lir_cmove_mips: s = "cmove_mips"; break;
2010 #endif
1978 // LIR_OpJavaCall 2011 // LIR_OpJavaCall
1979 case lir_static_call: s = "static"; break; 2012 case lir_static_call: s = "static"; break;
1980 case lir_optvirtual_call: s = "optvirtual"; break; 2013 case lir_optvirtual_call: s = "optvirtual"; break;
1981 case lir_icvirtual_call: s = "icvirtual"; break; 2014 case lir_icvirtual_call: s = "icvirtual"; break;
1982 case lir_virtual_call: s = "virtual"; break; 2015 case lir_virtual_call: s = "virtual"; break;
2259 in_opr2()->print(out); out->print(" "); 2292 in_opr2()->print(out); out->print(" ");
2260 in_opr3()->print(out); out->print(" "); 2293 in_opr3()->print(out); out->print(" ");
2261 result_opr()->print(out); 2294 result_opr()->print(out);
2262 } 2295 }
2263 2296
2297 #ifdef MIPS
2298 // LIR_Op4
2299 void LIR_Op4::print_instr(outputStream* out) const {
2300 print_condition(out, cond()); out->print(" ");
2301 in_opr1()->print(out); out->print(" ");
2302 in_opr2()->print(out); out->print(" ");
2303 in_opr3()->print(out); out->print(" ");
2304 in_opr4()->print(out); out->print(" ");
2305 result_opr()->print(out);
2306 }
2307 #endif
2264 2308
2265 void LIR_OpLock::print_instr(outputStream* out) const { 2309 void LIR_OpLock::print_instr(outputStream* out) const {
2266 hdr_opr()->print(out); out->print(" "); 2310 hdr_opr()->print(out); out->print(" ");
2267 obj_opr()->print(out); out->print(" "); 2311 obj_opr()->print(out); out->print(" ");
2268 lock_opr()->print(out); out->print(" "); 2312 lock_opr()->print(out); out->print(" ");

mercurial