src/share/vm/c1/c1_LIRAssembler.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/c1/c1_LIRAssembler.cpp Wed Aug 21 16:07:21 2013
--- new/src/share/vm/c1/c1_LIRAssembler.cpp Wed Aug 21 16:07:20 2013
*** 91,106 ****
--- 91,117 ----
case Bytecodes::_ldc_w:
break;
default:
ShouldNotReachHere();
}
+ } else if (patch->id() == PatchingStub::load_appendix_id) {
+ Bytecodes::Code bc_raw = info->scope()->method()->raw_code_at_bci(info->stack()->bci());
+ assert(Bytecodes::has_optional_appendix(bc_raw), "unexpected appendix resolution");
} else {
ShouldNotReachHere();
}
#endif
}
+ PatchingStub::PatchID LIR_Assembler::patching_id(CodeEmitInfo* info) {
+ IRScope* scope = info->scope();
+ Bytecodes::Code bc_raw = scope->method()->raw_code_at_bci(info->stack()->bci());
+ if (Bytecodes::has_optional_appendix(bc_raw)) {
+ return PatchingStub::load_appendix_id;
+ }
+ return PatchingStub::load_mirror_id;
+ }
//---------------------------------------------------------------
LIR_Assembler::LIR_Assembler(Compilation* c):
src/share/vm/c1/c1_LIRAssembler.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File