hotspot/src/share/vm/c1/c1_LIR.cpp
changeset 6461 cfc616b49f58
parent 6453 970dc585ab63
child 6742 81ef369b8fc7
equal deleted inserted replaced
6460:6f5143b00f4c 6461:cfc616b49f58
  1017   masm->emit_alloc_array(this);
  1017   masm->emit_alloc_array(this);
  1018   masm->emit_code_stub(stub());
  1018   masm->emit_code_stub(stub());
  1019 }
  1019 }
  1020 
  1020 
  1021 void LIR_OpTypeCheck::emit_code(LIR_Assembler* masm) {
  1021 void LIR_OpTypeCheck::emit_code(LIR_Assembler* masm) {
  1022   if (code() == lir_checkcast) {
  1022   masm->emit_opTypeCheck(this);
  1023     masm->emit_checkcast(this);
       
  1024   } else {
       
  1025     masm->emit_opTypeCheck(this);
       
  1026   }
       
  1027   if (stub()) {
  1023   if (stub()) {
  1028     masm->emit_code_stub(stub());
  1024     masm->emit_code_stub(stub());
  1029   }
  1025   }
  1030 }
  1026 }
  1031 
  1027 
  1378     c->set_should_profile(true);
  1374     c->set_should_profile(true);
  1379   }
  1375   }
  1380   append(c);
  1376   append(c);
  1381 }
  1377 }
  1382 
  1378 
  1383 void LIR_List::instanceof(LIR_Opr result, LIR_Opr object, ciKlass* klass, LIR_Opr tmp1, LIR_Opr tmp2, LIR_Opr tmp3, bool fast_check, CodeEmitInfo* info_for_patch) {
  1379 void LIR_List::instanceof(LIR_Opr result, LIR_Opr object, ciKlass* klass, LIR_Opr tmp1, LIR_Opr tmp2, LIR_Opr tmp3, bool fast_check, CodeEmitInfo* info_for_patch, ciMethod* profiled_method, int profiled_bci) {
  1384   append(new LIR_OpTypeCheck(lir_instanceof, result, object, klass, tmp1, tmp2, tmp3, fast_check, NULL, info_for_patch, NULL));
  1380   LIR_OpTypeCheck* c = new LIR_OpTypeCheck(lir_instanceof, result, object, klass, tmp1, tmp2, tmp3, fast_check, NULL, info_for_patch, NULL);
       
  1381   if (profiled_method != NULL) {
       
  1382     c->set_profiled_method(profiled_method);
       
  1383     c->set_profiled_bci(profiled_bci);
       
  1384     c->set_should_profile(true);
       
  1385   }
       
  1386   append(c);
  1385 }
  1387 }
  1386 
  1388 
  1387 
  1389 
  1388 void LIR_List::store_check(LIR_Opr object, LIR_Opr array, LIR_Opr tmp1, LIR_Opr tmp2, LIR_Opr tmp3, CodeEmitInfo* info_for_exception) {
  1390 void LIR_List::store_check(LIR_Opr object, LIR_Opr array, LIR_Opr tmp1, LIR_Opr tmp2, LIR_Opr tmp3, CodeEmitInfo* info_for_exception) {
  1389   append(new LIR_OpTypeCheck(lir_store_check, object, array, tmp1, tmp2, tmp3, info_for_exception));
  1391   append(new LIR_OpTypeCheck(lir_store_check, object, array, tmp1, tmp2, tmp3, info_for_exception));