src/share/vm/c1/c1_LIR.cpp

changeset 2146
3a294e483abc
parent 2138
d5d065957597
child 2171
87b64980e2f1
     1.1 --- a/src/share/vm/c1/c1_LIR.cpp	Sat Sep 11 15:21:37 2010 -0700
     1.2 +++ b/src/share/vm/c1/c1_LIR.cpp	Mon Sep 13 12:10:49 2010 -0700
     1.3 @@ -1019,11 +1019,7 @@
     1.4  }
     1.5  
     1.6  void LIR_OpTypeCheck::emit_code(LIR_Assembler* masm) {
     1.7 -  if (code() == lir_checkcast) {
     1.8 -    masm->emit_checkcast(this);
     1.9 -  } else {
    1.10 -    masm->emit_opTypeCheck(this);
    1.11 -  }
    1.12 +  masm->emit_opTypeCheck(this);
    1.13    if (stub()) {
    1.14      masm->emit_code_stub(stub());
    1.15    }
    1.16 @@ -1380,8 +1376,14 @@
    1.17    append(c);
    1.18  }
    1.19  
    1.20 -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) {
    1.21 -  append(new LIR_OpTypeCheck(lir_instanceof, result, object, klass, tmp1, tmp2, tmp3, fast_check, NULL, info_for_patch, NULL));
    1.22 +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) {
    1.23 +  LIR_OpTypeCheck* c = new LIR_OpTypeCheck(lir_instanceof, result, object, klass, tmp1, tmp2, tmp3, fast_check, NULL, info_for_patch, NULL);
    1.24 +  if (profiled_method != NULL) {
    1.25 +    c->set_profiled_method(profiled_method);
    1.26 +    c->set_profiled_bci(profiled_bci);
    1.27 +    c->set_should_profile(true);
    1.28 +  }
    1.29 +  append(c);
    1.30  }
    1.31  
    1.32  

mercurial