src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Wed Feb 15 11:46:28 2012
--- new/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Wed Feb 15 11:46:28 2012
*** 379,388 ****
--- 379,398 ----
inline_cache_check(receiver, ic_klass);
}
void C1_MacroAssembler::verified_entry() {
+ if (C1Breakpoint || VerifyFPU || !UseStackBanging) {
+ // Verified Entry first instruction should be 5 bytes long for correct
+ // patching by patch_verified_entry().
+ //
+ // C1Breakpoint and VerifyFPU have one byte first instruction.
+ // Also first instruction will be one byte "push(rbp)" if stack banging
+ // code is not generated (see build_frame() above).
+ // For all these cases generate long instruction first.
+ fat_nop();
+ }
if (C1Breakpoint)int3();
// build frame
verify_FPU(0, "method_entry");
}
src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File