src/share/vm/c1/c1_LIRAssembler.cpp

changeset 5628
f98f5d48f511
parent 4106
7eca5de9e0b6
child 6198
55fb97c4c58d
     1.1 --- a/src/share/vm/c1/c1_LIRAssembler.cpp	Fri Aug 23 18:04:35 2013 -0700
     1.2 +++ b/src/share/vm/c1/c1_LIRAssembler.cpp	Wed Aug 21 13:34:45 2013 +0200
     1.3 @@ -93,12 +93,23 @@
     1.4        default:
     1.5          ShouldNotReachHere();
     1.6      }
     1.7 +  } else if (patch->id() == PatchingStub::load_appendix_id) {
     1.8 +    Bytecodes::Code bc_raw = info->scope()->method()->raw_code_at_bci(info->stack()->bci());
     1.9 +    assert(Bytecodes::has_optional_appendix(bc_raw), "unexpected appendix resolution");
    1.10    } else {
    1.11      ShouldNotReachHere();
    1.12    }
    1.13  #endif
    1.14  }
    1.15  
    1.16 +PatchingStub::PatchID LIR_Assembler::patching_id(CodeEmitInfo* info) {
    1.17 +  IRScope* scope = info->scope();
    1.18 +  Bytecodes::Code bc_raw = scope->method()->raw_code_at_bci(info->stack()->bci());
    1.19 +  if (Bytecodes::has_optional_appendix(bc_raw)) {
    1.20 +    return PatchingStub::load_appendix_id;
    1.21 +  }
    1.22 +  return PatchingStub::load_mirror_id;
    1.23 +}
    1.24  
    1.25  //---------------------------------------------------------------
    1.26  

mercurial