7150046: SIGILL on sparcv9 fastdebug
authorcoleenp
Mon, 05 Mar 2012 14:19:00 -0500
changeset 12103 2ceb7aff05e3
parent 12102 7a1c6c80bc23
child 12104 add8dea40031
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
hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
--- 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();
--- 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;
--- 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
--- 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