hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il
changeset 5542 be05c5ffe905
parent 2105 347008ce7984
child 5547 f4b087cbb361
--- a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il	Mon May 17 00:47:28 2010 -0700
+++ b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il	Tue May 18 11:02:18 2010 -0700
@@ -37,24 +37,18 @@
       .end
 
   // Support for jint Atomic::add(jint add_value, volatile jint* dest)
-  // An additional bool (os::is_MP()) is passed as the last argument.
-      .inline _Atomic_add,3
+      .inline _Atomic_add,2
       movl     %edi, %eax      // save add_value for return
-      testl    %edx, %edx      // MP test
-      je       1f
       lock
-1:    xaddl    %edi, (%rsi)
+      xaddl    %edi, (%rsi)
       addl     %edi, %eax
       .end
 
   // Support for jlong Atomic::add(jlong add_value, volatile jlong* dest)
-  // An additional bool (os::is_MP()) is passed as the last argument.
-      .inline _Atomic_add_long,3
+      .inline _Atomic_add_long,2
       movq     %rdi, %rax      // save add_value for return
-      testq    %rdx, %rdx      // MP test
-      je       1f
       lock
-1:    xaddq    %rdi, (%rsi)
+      xaddq    %rdi, (%rsi)
       addq     %rdi, %rax
       .end
 
@@ -73,25 +67,19 @@
   // Support for jint Atomic::cmpxchg(jint exchange_value, 
   //                                  volatile jint *dest, 
   //                                  jint compare_value)
-  // An additional bool (os::is_MP()) is passed as the last argument.
-      .inline _Atomic_cmpxchg,4
+      .inline _Atomic_cmpxchg,3
       movl     %edx, %eax      // compare_value
-      testl    %ecx, %ecx      // MP test
-      je       1f
       lock
-1:    cmpxchgl %edi, (%rsi)
+      cmpxchgl %edi, (%rsi)
       .end
 
   // Support for jlong Atomic::cmpxchg(jlong exchange_value,
   //                                   volatile jlong* dest,
   //                                   jlong compare_value)
-  // An additional bool (os::is_MP()) is passed as the last argument.
-      .inline _Atomic_cmpxchg_long,6
+      .inline _Atomic_cmpxchg_long,3
       movq     %rdx, %rax      // compare_value
-      testq    %rcx, %rcx      // MP test
-      je       1f
       lock
-1:    cmpxchgq %rdi, (%rsi)
+      cmpxchgq %rdi, (%rsi)
       .end
 
   // Support for OrderAccess::acquire()