# HG changeset patch # User coleenp # Date 1330975140 18000 # Node ID 2ceb7aff05e326aab321155c203e3912713adfb8 # Parent 7a1c6c80bc2369332d39940138604d21b91307d0 7150046: SIGILL on sparcv9 fastdebug Summary: Breakpoint needs to do 64-bit compare for pointers on sparcv9 Reviewed-by: coleenp, never Contributed-by: dean.long@oracle.com diff -r 7a1c6c80bc23 -r 2ceb7aff05e3 hotspot/src/cpu/sparc/vm/assembler_sparc.hpp --- a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp Thu Mar 01 12:41:13 2012 +0400 +++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp Mon Mar 05 14:19:00 2012 -0500 @@ -2221,7 +2221,7 @@ // 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(); diff -r 7a1c6c80bc23 -r 2ceb7aff05e3 hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp Thu Mar 01 12:41:13 2012 +0400 +++ b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp Mon Mar 05 14:19:00 2012 -0500 @@ -1187,7 +1187,7 @@ #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; diff -r 7a1c6c80bc23 -r 2ceb7aff05e3 hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Thu Mar 01 12:41:13 2012 +0400 +++ b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Mon Mar 05 14:19:00 2012 -0500 @@ -3325,7 +3325,7 @@ // 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 @@ #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 diff -r 7a1c6c80bc23 -r 2ceb7aff05e3 hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Thu Mar 01 12:41:13 2012 +0400 +++ b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Mon Mar 05 14:19:00 2012 -0500 @@ -379,7 +379,7 @@ #ifdef ASSERT __ tst(O0); - __ breakpoint_trap(Assembler::zero); + __ breakpoint_trap(Assembler::zero, Assembler::ptr_cc); #endif // ASSERT __ bind(done); @@ -2050,7 +2050,7 @@ 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