annotate src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp @ 17833:bfdf528be8e8

8038498: Fix includes and C inlining after 8035330 Summary: Change 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure broke the debug build on AIX. The method do_oop_partial_array() is added in a header, but requires the inline function par_write_ref() through several inlined calls. In some cpp files, like arguments.cpp, par_write_ref() is not defined as the corresponding inline header and is not included. The AIX debug VM does not start because of the missing symbol. This change solves this by cleaning up include dependencies. Reviewed-by: tschatzl, stefank
author tschatzl
date Fri, 04 Apr 2014 10:43:56 +0200
parents f95d63e2154a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
1 /*
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
3 * Copyright 2007, 2008, 2009 Red Hat, Inc.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
5 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
6 * This code is free software; you can redistribute it and/or modify it
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
7 * under the terms of the GNU General Public License version 2 only, as
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
8 * published by the Free Software Foundation.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
9 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
10 * This code is distributed in the hope that it will be useful, but WITHOUT
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
13 * version 2 for more details (a copy is included in the LICENSE file that
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
14 * accompanied this code).
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
15 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License version
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
17 * 2 along with this work; if not, write to the Free Software Foundation,
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
19 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1010
diff changeset
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1010
diff changeset
21 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1010
diff changeset
22 * questions.
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
23 *
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
24 */
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
25
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
26 #ifndef OS_CPU_LINUX_ZERO_VM_ORDERACCESS_LINUX_ZERO_INLINE_HPP
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
27 #define OS_CPU_LINUX_ZERO_VM_ORDERACCESS_LINUX_ZERO_INLINE_HPP
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
28
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
29 #include "runtime/orderAccess.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
30 #include "vm_version_zero.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
31
1010
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
32 #ifdef ARM
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
33
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
34 /*
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
35 * ARM Kernel helper for memory barrier.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
36 * Using __asm __volatile ("":::"memory") does not work reliable on ARM
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
37 * and gcc __sync_synchronize(); implementation does not use the kernel
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
38 * helper for all gcc versions so it is unreliable to use as well.
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
39 */
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
40 typedef void (__kernel_dmb_t) (void);
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
41 #define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
42
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
43 #define FULL_MEM_BARRIER __kernel_dmb()
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
44 #define READ_MEM_BARRIER __kernel_dmb()
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
45 #define WRITE_MEM_BARRIER __kernel_dmb()
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
46
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
47 #else // ARM
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
48
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
49 #define FULL_MEM_BARRIER __sync_synchronize()
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
50
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
51 #ifdef PPC
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
52
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
53 #define READ_MEM_BARRIER __asm __volatile ("isync":::"memory")
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
54 #ifdef __NO_LWSYNC__
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
55 #define WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
56 #else
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
57 #define WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
58 #endif
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
59
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
60 #else // PPC
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
61
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
62 #define READ_MEM_BARRIER __asm __volatile ("":::"memory")
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
63 #define WRITE_MEM_BARRIER __asm __volatile ("":::"memory")
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
64
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
65 #endif // PPC
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
66
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
67 #endif // ARM
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
68
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
69
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
70 inline void OrderAccess::loadload() { acquire(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
71 inline void OrderAccess::storestore() { release(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
72 inline void OrderAccess::loadstore() { acquire(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
73 inline void OrderAccess::storeload() { fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
74
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
75 inline void OrderAccess::acquire() {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
76 READ_MEM_BARRIER;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
77 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
78
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
79 inline void OrderAccess::release() {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
80 WRITE_MEM_BARRIER;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
81 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
82
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
83 inline void OrderAccess::fence() {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
84 FULL_MEM_BARRIER;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
85 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
86
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
87 inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { jbyte data = *p; acquire(); return data; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
88 inline jshort OrderAccess::load_acquire(volatile jshort* p) { jshort data = *p; acquire(); return data; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
89 inline jint OrderAccess::load_acquire(volatile jint* p) { jint data = *p; acquire(); return data; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
90 inline jlong OrderAccess::load_acquire(volatile jlong* p) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
91 jlong tmp;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
92 os::atomic_copy64(p, &tmp);
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
93 acquire();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
94 return tmp;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
95 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
96 inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { jubyte data = *p; acquire(); return data; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
97 inline jushort OrderAccess::load_acquire(volatile jushort* p) { jushort data = *p; acquire(); return data; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
98 inline juint OrderAccess::load_acquire(volatile juint* p) { juint data = *p; acquire(); return data; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
99 inline julong OrderAccess::load_acquire(volatile julong* p) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
100 julong tmp;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
101 os::atomic_copy64(p, &tmp);
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
102 acquire();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
103 return tmp;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
104 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
105 inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { jfloat data = *p; acquire(); return data; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
106 inline jdouble OrderAccess::load_acquire(volatile jdouble* p) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
107 jdouble tmp;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
108 os::atomic_copy64(p, &tmp);
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
109 acquire();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
110 return tmp;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
111 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
112
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
113 inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
114 intptr_t data = *p;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
115 acquire();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
116 return data;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
117 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
118 inline void* OrderAccess::load_ptr_acquire(volatile void* p) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
119 void *data = *(void* volatile *)p;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
120 acquire();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
121 return data;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
122 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
123 inline void* OrderAccess::load_ptr_acquire(const volatile void* p) {
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
124 void *data = *(void* const volatile *)p;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
125 acquire();
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
126 return data;
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
127 }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
128
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
129 inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
130 inline void OrderAccess::release_store(volatile jshort* p, jshort v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
131 inline void OrderAccess::release_store(volatile jint* p, jint v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
132 inline void OrderAccess::release_store(volatile jlong* p, jlong v)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
133 { release(); os::atomic_copy64(&v, p); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
134 inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
135 inline void OrderAccess::release_store(volatile jushort* p, jushort v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
136 inline void OrderAccess::release_store(volatile juint* p, juint v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
137 inline void OrderAccess::release_store(volatile julong* p, julong v)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
138 { release(); os::atomic_copy64(&v, p); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
139 inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
140 inline void OrderAccess::release_store(volatile jdouble* p, jdouble v)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
141 { release(); os::atomic_copy64(&v, p); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
142
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
143 inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { release(); *p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
144 inline void OrderAccess::release_store_ptr(volatile void* p, void* v)
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
145 { release(); *(void* volatile *)p = v; }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
146
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
147 inline void OrderAccess::store_fence(jbyte* p, jbyte v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
148 inline void OrderAccess::store_fence(jshort* p, jshort v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
149 inline void OrderAccess::store_fence(jint* p, jint v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
150 inline void OrderAccess::store_fence(jlong* p, jlong v) { os::atomic_copy64(&v, p); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
151 inline void OrderAccess::store_fence(jubyte* p, jubyte v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
152 inline void OrderAccess::store_fence(jushort* p, jushort v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
153 inline void OrderAccess::store_fence(juint* p, juint v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
154 inline void OrderAccess::store_fence(julong* p, julong v) { os::atomic_copy64(&v, p); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
155 inline void OrderAccess::store_fence(jfloat* p, jfloat v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
156 inline void OrderAccess::store_fence(jdouble* p, jdouble v) { os::atomic_copy64(&v, p); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
157
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
158 inline void OrderAccess::store_ptr_fence(intptr_t* p, intptr_t v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
159 inline void OrderAccess::store_ptr_fence(void** p, void* v) { *p = v; fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
160
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
161 inline void OrderAccess::release_store_fence(volatile jbyte* p, jbyte v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
162 inline void OrderAccess::release_store_fence(volatile jshort* p, jshort v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
163 inline void OrderAccess::release_store_fence(volatile jint* p, jint v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
164 inline void OrderAccess::release_store_fence(volatile jlong* p, jlong v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
165 inline void OrderAccess::release_store_fence(volatile jubyte* p, jubyte v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
166 inline void OrderAccess::release_store_fence(volatile jushort* p, jushort v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
167 inline void OrderAccess::release_store_fence(volatile juint* p, juint v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
168 inline void OrderAccess::release_store_fence(volatile julong* p, julong v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
169 inline void OrderAccess::release_store_fence(volatile jfloat* p, jfloat v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
170 inline void OrderAccess::release_store_fence(volatile jdouble* p, jdouble v) { release_store(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
171
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
172 inline void OrderAccess::release_store_ptr_fence(volatile intptr_t* p, intptr_t v) { release_store_ptr(p, v); fence(); }
354d3184f6b2 6890308: integrate zero assembler hotspot changes
never
parents:
diff changeset
173 inline void OrderAccess::release_store_ptr_fence(volatile void* p, void* v) { release_store_ptr(p, v); fence(); }
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
174
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
175 #endif // OS_CPU_LINUX_ZERO_VM_ORDERACCESS_LINUX_ZERO_INLINE_HPP