--- 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()