7150046: SIGILL on sparcv9 fastdebug
Breakpoint needs to do 64-bit compare for pointers on sparcv9
Reviewed-by: coleenp, never
diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
index 04f8a98..d3437ce 100644
--- a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
@@ -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 --git a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
index f402d62..f85d4e3 100644
--- a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
@@ -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 --git a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
index f82066e..bc93716 100644
--- a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
@@ -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 --git a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
index ceb6a59..98028af 100644
--- a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
@@ -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