equal
deleted
inserted
replaced
65 lock |
65 lock |
66 xaddq %rdi, (%rsi) |
66 xaddq %rdi, (%rsi) |
67 addq %rdi, %rax |
67 addq %rdi, %rax |
68 .end |
68 .end |
69 |
69 |
70 // Support for jint Atomic::xchg(jint exchange_value, volatile jint* dest). |
70 // Implementation of jint _Atomic_xchg(jint exchange_value, volatile jint* dest) |
|
71 // used by Atomic::xchg(volatile jint* dest, jint exchange_value) |
71 .inline _Atomic_xchg,2 |
72 .inline _Atomic_xchg,2 |
72 xchgl (%rsi), %edi |
73 xchgl (%rsi), %edi |
73 movl %edi, %eax |
74 movl %edi, %eax |
74 .end |
75 .end |
75 |
76 |
76 // Support for jlong Atomic::xchg(jlong exchange_value, volatile jlong* dest). |
77 // Implementation of jlong _Atomic_xchg(jlong exchange_value, volatile jlong* dest) |
|
78 // used by Atomic::xchg(volatile jlong* dest, jlong exchange_value) |
77 .inline _Atomic_xchg_long,2 |
79 .inline _Atomic_xchg_long,2 |
78 xchgq (%rsi), %rdi |
80 xchgq (%rsi), %rdi |
79 movq %rdi, %rax |
81 movq %rdi, %rax |
80 .end |
82 .end |
81 |
83 |