src/hotspot/os_cpu/solaris_x86/atomic_solaris_x86.hpp
changeset 53244 9807daeb47c4
parent 50029 ea0a16ba6ac0
child 59249 29b0d0b61615
equal deleted inserted replaced
53243:8bea4144b21c 53244:9807daeb47c4
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    20  * or visit www.oracle.com if you need additional information or have any
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    21  * questions.
    22  *
    22  *
    23  */
    23  */
    24 
    24 
    25 #ifndef OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
    25 #ifndef OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP
    26 #define OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
    26 #define OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP
    27 
    27 
    28 // For Sun Studio - implementation is in solaris_x86_64.il.
    28 // For Sun Studio - implementation is in solaris_x86_64.il.
    29 
    29 
    30 extern "C" {
    30 extern "C" {
    31   int32_t _Atomic_add(int32_t add_value, volatile int32_t* dest);
    31   int32_t _Atomic_add(int32_t add_value, volatile int32_t* dest);
   139     _Atomic_cmpxchg_long(PrimitiveConversions::cast<int64_t>(exchange_value),
   139     _Atomic_cmpxchg_long(PrimitiveConversions::cast<int64_t>(exchange_value),
   140                          reinterpret_cast<int64_t volatile*>(dest),
   140                          reinterpret_cast<int64_t volatile*>(dest),
   141                          PrimitiveConversions::cast<int64_t>(compare_value)));
   141                          PrimitiveConversions::cast<int64_t>(compare_value)));
   142 }
   142 }
   143 
   143 
   144 #endif // OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
   144 #endif // OS_CPU_SOLARIS_X86_ATOMIC_SOLARIS_X86_HPP