Mercurial > hg > truffle
diff src/os_cpu/solaris_x86/vm/solaris_x86_32.il @ 1547:fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
Reviewed-by: kamg, ysr, dholmes, johnc
author | jcoomes |
---|---|
date | Tue, 18 May 2010 11:02:18 -0700 |
parents | 665be97e8704 |
children | c18cbe5936b8 |
line wrap: on
line diff
--- a/src/os_cpu/solaris_x86/vm/solaris_x86_32.il Mon May 17 00:47:28 2010 -0700 +++ b/src/os_cpu/solaris_x86/vm/solaris_x86_32.il Tue May 18 11:02:18 2010 -0700 @@ -50,10 +50,12 @@ movl 4(%esp), %edx // dest movl %eax, %ecx cmpl $0, 8(%esp) // MP test - je 1f - lock -1: xaddl %eax, (%edx) - addl %ecx, %eax + jne 1f + xaddl %eax, (%edx) + jmp 2f +1: lock + xaddl %eax, (%edx) +2: addl %ecx, %eax .end // Support for jint Atomic::xchg(jint exchange_value, volatile jint* dest). @@ -72,9 +74,12 @@ movl 0(%esp), %ecx // exchange_value movl 4(%esp), %edx // dest cmp $0, 12(%esp) // MP test - je 1f - lock -1: cmpxchgl %ecx, (%edx) + jne 1f + cmpxchgl %ecx, (%edx) + jmp 2f +1: lock + cmpxchgl %ecx, (%edx) +2: .end // Support for jlong Atomic::cmpxchg(jlong exchange_value, @@ -90,10 +95,12 @@ movl 8(%esp), %ebx // exchange_value (low) movl 12(%esp), %ecx // exchange_high (high) cmp $0, 28(%esp) // MP test - je 1f - lock -1: cmpxchg8b (%edi) - popl %edi + jne 1f + cmpxchg8b (%edi) + jmp 2f +1: lock + cmpxchg8b (%edi) +2: popl %edi popl %ebx .end