7150046: SIGILL on sparcv9 fastdebug
Breakpoint needs to do 64-bit compare for pointers on sparcv9 Reviewed-by: coleenp, never
This commit is contained in:
parent
3385cfe8cf
commit
98f297ba23
@ -2221,7 +2221,7 @@ public:
|
||||
// traps as per trap.h (SPARC ABI?)
|
||||
|
||||
void breakpoint_trap();
|
||||
void breakpoint_trap(Condition c, CC cc = icc);
|
||||
void breakpoint_trap(Condition c, CC cc);
|
||||
void flush_windows_trap();
|
||||
void clean_windows_trap();
|
||||
void get_psr_trap();
|
||||
|
@ -1187,7 +1187,7 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
|
||||
|
||||
#ifdef ASSERT
|
||||
__ tst(O1);
|
||||
__ breakpoint_trap(Assembler::zero);
|
||||
__ breakpoint_trap(Assembler::zero, Assembler::ptr_cc);
|
||||
#endif // ASSERT
|
||||
|
||||
const int entry_size = frame::interpreter_frame_monitor_size() * wordSize;
|
||||
|
@ -3325,7 +3325,7 @@ static void gen_new_frame(MacroAssembler* masm, bool deopt) {
|
||||
// make sure that the frames are aligned properly
|
||||
#ifndef _LP64
|
||||
__ btst(wordSize*2-1, SP);
|
||||
__ breakpoint_trap(Assembler::notZero);
|
||||
__ breakpoint_trap(Assembler::notZero, Assembler::ptr_cc);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -3407,7 +3407,7 @@ static void make_new_frames(MacroAssembler* masm, bool deopt) {
|
||||
#ifdef ASSERT
|
||||
// make sure that there is at least one entry in the array
|
||||
__ tst(O4array_size);
|
||||
__ breakpoint_trap(Assembler::zero);
|
||||
__ breakpoint_trap(Assembler::zero, Assembler::icc);
|
||||
#endif
|
||||
|
||||
// Now push the new interpreter frames
|
||||
|
@ -379,7 +379,7 @@ void InterpreterGenerator::lock_method(void) {
|
||||
|
||||
#ifdef ASSERT
|
||||
__ tst(O0);
|
||||
__ breakpoint_trap(Assembler::zero);
|
||||
__ breakpoint_trap(Assembler::zero, Assembler::ptr_cc);
|
||||
#endif // ASSERT
|
||||
|
||||
__ bind(done);
|
||||
@ -2050,7 +2050,7 @@ void TemplateInterpreterGenerator::stop_interpreter_at() {
|
||||
AddressLiteral stop_at(&StopInterpreterAt);
|
||||
__ load_ptr_contents(stop_at, G4_scratch);
|
||||
__ cmp(G3_scratch, G4_scratch);
|
||||
__ breakpoint_trap(Assembler::equal);
|
||||
__ breakpoint_trap(Assembler::equal, Assembler::icc);
|
||||
}
|
||||
#endif // not PRODUCT
|
||||
#endif // !CC_INTERP
|
||||
|
Loading…
x
Reference in New Issue
Block a user