src/hotspot/os_cpu/solaris_x86/solaris_x86_64.il
changeset 59249 29b0d0b61615
parent 47216 71c04702a3d5
child 59251 4cbfa5077d68
equal deleted inserted replaced
59248:e92153ed8bdc 59249:29b0d0b61615
    47       rdtsc
    47       rdtsc
    48       salq     $32, %rdx
    48       salq     $32, %rdx
    49       orq      %rdx, %rax
    49       orq      %rdx, %rax
    50       .end
    50       .end
    51 
    51 
    52   // Support for jint Atomic::add(jint add_value, volatile jint* dest)
    52   // Implementation of jint _Atomic_add(jint add_value, volatile jint* dest)
       
    53   // used by Atomic::add(volatile jint* dest, jint add_value)
    53       .inline _Atomic_add,2
    54       .inline _Atomic_add,2
    54       movl     %edi, %eax      // save add_value for return
    55       movl     %edi, %eax      // save add_value for return
    55       lock
    56       lock
    56       xaddl    %edi, (%rsi)
    57       xaddl    %edi, (%rsi)
    57       addl     %edi, %eax
    58       addl     %edi, %eax
    58       .end
    59       .end
    59 
    60 
    60   // Support for jlong Atomic::add(jlong add_value, volatile jlong* dest)
    61   // Implementation of jlong _Atomic_add(jlong add_value, volatile jlong* dest)
       
    62   // used by Atomic::add(volatile jlong* dest, jint add_value)
    61       .inline _Atomic_add_long,2
    63       .inline _Atomic_add_long,2
    62       movq     %rdi, %rax      // save add_value for return
    64       movq     %rdi, %rax      // save add_value for return
    63       lock
    65       lock
    64       xaddq    %rdi, (%rsi)
    66       xaddq    %rdi, (%rsi)
    65       addq     %rdi, %rax
    67       addq     %rdi, %rax