comparison src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp @ 2250:f7de3327c683

7017124: Fix some VM stats to avoid 32-bit overflow Summary: Added new method inc_stat_counter() to increment long statistic values and use atomic long load and store. Reviewed-by: dholmes, jrose, phh, never
author kvn
date Mon, 07 Feb 2011 10:34:39 -0800
parents 85c73c0edb06
children 63e54c37ac64
comparison
equal deleted inserted replaced
2249:3763ca6579b7 2250:f7de3327c683
65 extern "C" void _Atomic_move_long_v9(volatile jlong* src, volatile jlong* dst); 65 extern "C" void _Atomic_move_long_v9(volatile jlong* src, volatile jlong* dst);
66 66
67 inline void Atomic_move_long(volatile jlong* src, volatile jlong* dst) { 67 inline void Atomic_move_long(volatile jlong* src, volatile jlong* dst) {
68 #ifdef COMPILER2 68 #ifdef COMPILER2
69 // Compiler2 does not support v8, it is used only for v9. 69 // Compiler2 does not support v8, it is used only for v9.
70 assert (VM_Version::v9_instructions_work(), "only supported on v9");
71 _Atomic_move_long_v9(src, dst); 70 _Atomic_move_long_v9(src, dst);
72 #else 71 #else
73 // The branch is cheaper then emulated LDD. 72 // The branch is cheaper then emulated LDD.
74 if (VM_Version::v9_instructions_work()) { 73 if (VM_Version::v9_instructions_work()) {
75 _Atomic_move_long_v9(src, dst); 74 _Atomic_move_long_v9(src, dst);