< prev index next >
src/os_cpu/solaris_sparc/vm/solaris_sparc.il
Print this page
rev 13437 : imported patch solaris_sparc
@@ -71,78 +71,10 @@
mov %o2, %o0
.nonvolatile
.end
- // Support for jint Atomic::cmpxchg(jint exchange_value,
- // volatile jint* dest,
- // jint compare_value)
- //
- // Arguments:
- // exchange_value: O0
- // dest: O1
- // compare_value: O2
- //
- // Results:
- // O0: the value previously stored in dest
-
- .inline _Atomic_cas32, 3
- .volatile
- cas [%o1], %o2, %o0
- .nonvolatile
- .end
-
-
- // Support for intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value,
- // volatile intptr_t* dest,
- // intptr_t compare_value)
- //
- // 64-bit
- //
- // Arguments:
- // exchange_value: O0
- // dest: O1
- // compare_value: O2
- //
- // Results:
- // O0: the value previously stored in dest
-
- .inline _Atomic_cas64, 3
- .volatile
- casx [%o1], %o2, %o0
- .nonvolatile
- .end
-
-
- // Support for jlong Atomic::cmpxchg(jlong exchange_value,
- // volatile jlong* dest,
- // jlong compare_value)
- //
- // 32-bit calling conventions
- //
- // Arguments:
- // exchange_value: O1:O0
- // dest: O2
- // compare_value: O4:O3
- //
- // Results:
- // O1:O0: the value previously stored in dest
-
- .inline _Atomic_casl, 3
- .volatile
- sllx %o0, 32, %o0
- srl %o1, 0, %o1
- or %o0,%o1,%o0
- sllx %o3, 32, %o3
- srl %o4, 0, %o4
- or %o3,%o4,%o3
- casx [%o2], %o3, %o0
- srl %o0, 0, %o1
- srlx %o0, 32, %o0
- .nonvolatile
- .end
-
// Support for jlong Atomic::load and Atomic::store on v9.
//
// void _Atomic_move_long_v9(volatile jlong* src, volatile jlong* dst)
//
// Arguments:
< prev index next >