< prev index next >

src/cpu/x86/vm/macroAssembler_x86.cpp

Print this page

        

@@ -760,10 +760,12 @@
   // possible that we need it only for debugging
   if (clear_fp) {
     movptr(Address(r15_thread, JavaThread::last_Java_fp_offset()), NULL_WORD);
   }
 
+  // Always clear the pc because it could have been set by make_walkable()
+  clear_pc = true;
   if (clear_pc) {
     movptr(Address(r15_thread, JavaThread::last_Java_pc_offset()), NULL_WORD);
   }
 }
 

@@ -3652,10 +3654,12 @@
   movptr(Address(java_thread, JavaThread::last_Java_sp_offset()), NULL_WORD);
   if (clear_fp) {
     movptr(Address(java_thread, JavaThread::last_Java_fp_offset()), NULL_WORD);
   }
 
+  // Always clear the pc because it could have been set by make_walkable()
+  clear_pc = true;
   if (clear_pc)
     movptr(Address(java_thread, JavaThread::last_Java_pc_offset()), NULL_WORD);
 
 }
 
< prev index next >