1.1 --- a/src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp Thu Oct 07 13:49:40 2010 -0700 1.2 +++ b/src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp Tue Jan 18 17:10:03 2011 -0800 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -77,11 +77,11 @@ 1.11 inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { return *p; } 1.12 inline jshort OrderAccess::load_acquire(volatile jshort* p) { return *p; } 1.13 inline jint OrderAccess::load_acquire(volatile jint* p) { return *p; } 1.14 -inline jlong OrderAccess::load_acquire(volatile jlong* p) { return *p; } 1.15 +inline jlong OrderAccess::load_acquire(volatile jlong* p) { return Atomic::load(p); } 1.16 inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { return *p; } 1.17 inline jushort OrderAccess::load_acquire(volatile jushort* p) { return *p; } 1.18 inline juint OrderAccess::load_acquire(volatile juint* p) { return *p; } 1.19 -inline julong OrderAccess::load_acquire(volatile julong* p) { return *p; } 1.20 +inline julong OrderAccess::load_acquire(volatile julong* p) { return Atomic::load((volatile jlong*)p); } 1.21 inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { return *p; } 1.22 inline jdouble OrderAccess::load_acquire(volatile jdouble* p) { return *p; } 1.23 1.24 @@ -92,11 +92,11 @@ 1.25 inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { *p = v; } 1.26 inline void OrderAccess::release_store(volatile jshort* p, jshort v) { *p = v; } 1.27 inline void OrderAccess::release_store(volatile jint* p, jint v) { *p = v; } 1.28 -inline void OrderAccess::release_store(volatile jlong* p, jlong v) { *p = v; } 1.29 +inline void OrderAccess::release_store(volatile jlong* p, jlong v) { Atomic::store(v, p); } 1.30 inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { *p = v; } 1.31 inline void OrderAccess::release_store(volatile jushort* p, jushort v) { *p = v; } 1.32 inline void OrderAccess::release_store(volatile juint* p, juint v) { *p = v; } 1.33 -inline void OrderAccess::release_store(volatile julong* p, julong v) { *p = v; } 1.34 +inline void OrderAccess::release_store(volatile julong* p, julong v) { Atomic::store((jlong)v, (volatile jlong*)p); } 1.35 inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { *p = v; } 1.36 inline void OrderAccess::release_store(volatile jdouble* p, jdouble v) { *p = v; } 1.37 1.38 @@ -120,11 +120,11 @@ 1.39 inline void OrderAccess::release_store_fence(volatile jbyte* p, jbyte v) { *p = v; fence(); } 1.40 inline void OrderAccess::release_store_fence(volatile jshort* p, jshort v) { *p = v; fence(); } 1.41 inline void OrderAccess::release_store_fence(volatile jint* p, jint v) { *p = v; fence(); } 1.42 -inline void OrderAccess::release_store_fence(volatile jlong* p, jlong v) { *p = v; fence(); } 1.43 +inline void OrderAccess::release_store_fence(volatile jlong* p, jlong v) { release_store(p, v); fence(); } 1.44 inline void OrderAccess::release_store_fence(volatile jubyte* p, jubyte v) { *p = v; fence(); } 1.45 inline void OrderAccess::release_store_fence(volatile jushort* p, jushort v) { *p = v; fence(); } 1.46 inline void OrderAccess::release_store_fence(volatile juint* p, juint v) { *p = v; fence(); } 1.47 -inline void OrderAccess::release_store_fence(volatile julong* p, julong v) { *p = v; fence(); } 1.48 +inline void OrderAccess::release_store_fence(volatile julong* p, julong v) { release_store(p, v); fence(); } 1.49 inline void OrderAccess::release_store_fence(volatile jfloat* p, jfloat v) { *p = v; fence(); } 1.50 inline void OrderAccess::release_store_fence(volatile jdouble* p, jdouble v) { *p = v; fence(); } 1.51