11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef OS_CPU_LINUX_S390_ORDERACCESS_LINUX_S390_HPP
27 #define OS_CPU_LINUX_S390_ORDERACCESS_LINUX_S390_HPP
28
29 // Included in orderAccess.hpp header file.
30
31 #include "vm_version_s390.hpp"
32
33 // Implementation of class OrderAccess.
34
35 //
36 // machine barrier instructions:
37 //
38 // - z_sync two-way memory barrier, aka fence
39 //
40 // semantic barrier instructions:
41 // (as defined in orderAccess.hpp)
42 //
43 // - z_release orders Store|Store, (maps to compiler barrier)
44 // Load|Store
45 // - z_acquire orders Load|Store, (maps to compiler barrier)
46 // Load|Load
47 // - z_fence orders Store|Store, (maps to z_sync)
48 // Load|Store,
49 // Load|Load,
50 // Store|Load
51 //
|
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef OS_CPU_LINUX_S390_ORDERACCESS_LINUX_S390_HPP
27 #define OS_CPU_LINUX_S390_ORDERACCESS_LINUX_S390_HPP
28
29 // Included in orderAccess.hpp header file.
30
31 #include "runtime/vm_version.hpp"
32
33 // Implementation of class OrderAccess.
34
35 //
36 // machine barrier instructions:
37 //
38 // - z_sync two-way memory barrier, aka fence
39 //
40 // semantic barrier instructions:
41 // (as defined in orderAccess.hpp)
42 //
43 // - z_release orders Store|Store, (maps to compiler barrier)
44 // Load|Store
45 // - z_acquire orders Load|Store, (maps to compiler barrier)
46 // Load|Load
47 // - z_fence orders Store|Store, (maps to z_sync)
48 // Load|Store,
49 // Load|Load,
50 // Store|Load
51 //
|