hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
changeset 11791 3be8cae67887
parent 11430 718fc06da49a
child 13728 882756847a04
--- a/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp	Wed Feb 15 16:29:40 2012 -0800
+++ b/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp	Wed Feb 15 21:37:49 2012 -0800
@@ -381,6 +381,16 @@
 
 
 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");