hotspot/src/os_cpu/windows_x86/vm/atomic_windows_x86.inline.hpp
changeset 7397 5b173b4ca846
parent 5547 f4b087cbb361
child 7885 c02b05ba16a1
equal deleted inserted replaced
7396:518b01b064ff 7397:5b173b4ca846
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2010, 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.
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    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 
       
    25 #ifndef OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_INLINE_HPP
       
    26 #define OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_INLINE_HPP
       
    27 
       
    28 #include "orderAccess_windows_x86.inline.hpp"
       
    29 #include "runtime/atomic.hpp"
       
    30 #include "runtime/os.hpp"
       
    31 #include "vm_version_x86.hpp"
    24 
    32 
    25 // The following alternative implementations are needed because
    33 // The following alternative implementations are needed because
    26 // Windows 95 doesn't support (some of) the corresponding Windows NT
    34 // Windows 95 doesn't support (some of) the corresponding Windows NT
    27 // calls. Furthermore, these versions allow inlining in the caller.
    35 // calls. Furthermore, these versions allow inlining in the caller.
    28 // (More precisely: The documentation for InterlockedExchange says
    36 // (More precisely: The documentation for InterlockedExchange says
   247   return (void*)cmpxchg((jint)exchange_value, (volatile jint*)dest, (jint)compare_value);
   255   return (void*)cmpxchg((jint)exchange_value, (volatile jint*)dest, (jint)compare_value);
   248 }
   256 }
   249 #endif // AMD64
   257 #endif // AMD64
   250 
   258 
   251 #pragma warning(default: 4035) // Enables warnings reporting missing return statement
   259 #pragma warning(default: 4035) // Enables warnings reporting missing return statement
       
   260 
       
   261 #endif // OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_INLINE_HPP