Mercurial > hg > truffle
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); |