< 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 >