annotate src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp @ 5318:b5cd7bc05695

Method entry counters: Enable the flag to collect an execution profile of compiled methods and their callers. This allows to, e.g., detect methods that should be inlined because they are called frequently.
author Christian Wimmer <Christian.Wimmer@Oracle.com>
date Fri, 27 Apr 2012 12:56:39 -0700
parents f08d439fab8c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
1 /*
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
3 * Copyright 2007, 2008, 2009 Red Hat, Inc.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
5 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
6 * This code is free software; you can redistribute it and/or modify it
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
7 * under the terms of the GNU General Public License version 2 only, as
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
8 * published by the Free Software Foundation.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
9 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
10 * This code is distributed in the hope that it will be useful, but WITHOUT
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
13 * version 2 for more details (a copy is included in the LICENSE file that
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
14 * accompanied this code).
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
15 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License version
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
17 * 2 along with this work; if not, write to the Free Software Foundation,
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
19 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
21 * or visit www.oracle.com if you need additional information or have any
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
22 * questions.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
23 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
24 */
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
25
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
26 #ifndef OS_CPU_BSD_ZERO_VM_ORDERACCESS_BSD_ZERO_INLINE_HPP
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
27 #define OS_CPU_BSD_ZERO_VM_ORDERACCESS_BSD_ZERO_INLINE_HPP
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
28
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
29 #include "runtime/orderAccess.hpp"
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
30 #include "vm_version_zero.hpp"
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
31
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
32 #ifdef ARM
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
33
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
34 /*
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
35 * ARM Kernel helper for memory barrier.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
36 * Using __asm __volatile ("":::"memory") does not work reliable on ARM
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
37 * and gcc __sync_synchronize(); implementation does not use the kernel
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
38 * helper for all gcc versions so it is unreliable to use as well.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
39 */
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
40 typedef void (__kernel_dmb_t) (void);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
41 #define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
42
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
43 #define FULL_MEM_BARRIER __kernel_dmb()
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
44 #define READ_MEM_BARRIER __kernel_dmb()
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
45 #define WRITE_MEM_BARRIER __kernel_dmb()
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
46
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
47 #else // ARM
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
48
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
49 #define FULL_MEM_BARRIER __sync_synchronize()
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
50
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
51 #ifdef PPC
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
52
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
53 #ifdef __NO_LWSYNC__
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
54 #define READ_MEM_BARRIER __asm __volatile ("sync":::"memory")
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
55 #define WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
56 #else
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
57 #define READ_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
58 #define WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
59 #endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
60
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
61 #else // PPC
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
62
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
63 #define READ_MEM_BARRIER __asm __volatile ("":::"memory")
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
64 #define WRITE_MEM_BARRIER __asm __volatile ("":::"memory")
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
65
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
66 #endif // PPC
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
67
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
68 #endif // ARM
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
69
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
70
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
71 inline void OrderAccess::loadload() { acquire(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
72 inline void OrderAccess::storestore() { release(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
73 inline void OrderAccess::loadstore() { acquire(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
74 inline void OrderAccess::storeload() { fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
75
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
76 inline void OrderAccess::acquire() {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
77 READ_MEM_BARRIER;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
78 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
79
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
80 inline void OrderAccess::release() {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
81 WRITE_MEM_BARRIER;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
82 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
83
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
84 inline void OrderAccess::fence() {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
85 FULL_MEM_BARRIER;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
86 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
87
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
88 inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { jbyte data = *p; acquire(); return data; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
89 inline jshort OrderAccess::load_acquire(volatile jshort* p) { jshort data = *p; acquire(); return data; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
90 inline jint OrderAccess::load_acquire(volatile jint* p) { jint data = *p; acquire(); return data; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
91 inline jlong OrderAccess::load_acquire(volatile jlong* p) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
92 jlong tmp;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
93 os::atomic_copy64(p, &tmp);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
94 acquire();
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
95 return tmp;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
96 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
97 inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { jubyte data = *p; acquire(); return data; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
98 inline jushort OrderAccess::load_acquire(volatile jushort* p) { jushort data = *p; acquire(); return data; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
99 inline juint OrderAccess::load_acquire(volatile juint* p) { juint data = *p; acquire(); return data; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
100 inline julong OrderAccess::load_acquire(volatile julong* p) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
101 julong tmp;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
102 os::atomic_copy64(p, &tmp);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
103 acquire();
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
104 return tmp;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
105 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
106 inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { jfloat data = *p; acquire(); return data; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
107 inline jdouble OrderAccess::load_acquire(volatile jdouble* p) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
108 jdouble tmp;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
109 os::atomic_copy64(p, &tmp);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
110 acquire();
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
111 return tmp;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
112 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
113
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
114 inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
115 intptr_t data = *p;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
116 acquire();
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
117 return data;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
118 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
119 inline void* OrderAccess::load_ptr_acquire(volatile void* p) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
120 void *data = *(void* volatile *)p;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
121 acquire();
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
122 return data;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
123 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
124 inline void* OrderAccess::load_ptr_acquire(const volatile void* p) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
125 void *data = *(void* const volatile *)p;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
126 acquire();
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
127 return data;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
128 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
129
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
130 inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
131 inline void OrderAccess::release_store(volatile jshort* p, jshort v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
132 inline void OrderAccess::release_store(volatile jint* p, jint v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
133 inline void OrderAccess::release_store(volatile jlong* p, jlong v)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
134 { release(); os::atomic_copy64(&v, p); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
135 inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
136 inline void OrderAccess::release_store(volatile jushort* p, jushort v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
137 inline void OrderAccess::release_store(volatile juint* p, juint v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
138 inline void OrderAccess::release_store(volatile julong* p, julong v)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
139 { release(); os::atomic_copy64(&v, p); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
140 inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
141 inline void OrderAccess::release_store(volatile jdouble* p, jdouble v)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
142 { release(); os::atomic_copy64(&v, p); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
143
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
144 inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { release(); *p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
145 inline void OrderAccess::release_store_ptr(volatile void* p, void* v)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
146 { release(); *(void* volatile *)p = v; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
147
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
148 inline void OrderAccess::store_fence(jbyte* p, jbyte v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
149 inline void OrderAccess::store_fence(jshort* p, jshort v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
150 inline void OrderAccess::store_fence(jint* p, jint v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
151 inline void OrderAccess::store_fence(jlong* p, jlong v) { os::atomic_copy64(&v, p); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
152 inline void OrderAccess::store_fence(jubyte* p, jubyte v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
153 inline void OrderAccess::store_fence(jushort* p, jushort v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
154 inline void OrderAccess::store_fence(juint* p, juint v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
155 inline void OrderAccess::store_fence(julong* p, julong v) { os::atomic_copy64(&v, p); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
156 inline void OrderAccess::store_fence(jfloat* p, jfloat v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
157 inline void OrderAccess::store_fence(jdouble* p, jdouble v) { os::atomic_copy64(&v, p); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
158
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
159 inline void OrderAccess::store_ptr_fence(intptr_t* p, intptr_t v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
160 inline void OrderAccess::store_ptr_fence(void** p, void* v) { *p = v; fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
161
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
162 inline void OrderAccess::release_store_fence(volatile jbyte* p, jbyte v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
163 inline void OrderAccess::release_store_fence(volatile jshort* p, jshort v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
164 inline void OrderAccess::release_store_fence(volatile jint* p, jint v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
165 inline void OrderAccess::release_store_fence(volatile jlong* p, jlong v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
166 inline void OrderAccess::release_store_fence(volatile jubyte* p, jubyte v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
167 inline void OrderAccess::release_store_fence(volatile jushort* p, jushort v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
168 inline void OrderAccess::release_store_fence(volatile juint* p, juint v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
169 inline void OrderAccess::release_store_fence(volatile julong* p, julong v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
170 inline void OrderAccess::release_store_fence(volatile jfloat* p, jfloat v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
171 inline void OrderAccess::release_store_fence(volatile jdouble* p, jdouble v) { release_store(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
172
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
173 inline void OrderAccess::release_store_ptr_fence(volatile intptr_t* p, intptr_t v) { release_store_ptr(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
174 inline void OrderAccess::release_store_ptr_fence(volatile void* p, void* v) { release_store_ptr(p, v); fence(); }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
175
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
176 #endif // OS_CPU_BSD_ZERO_VM_ORDERACCESS_BSD_ZERO_INLINE_HPP