< prev index next >
src/hotspot/share/memory/metaspace.cpp
Print this page
*** 160,170 ****
}
if (can_retry != NULL) {
*can_retry = true;
}
! size_t prev_value = Atomic::cmpxchg(new_value, &_capacity_until_GC, old_capacity_until_GC);
if (old_capacity_until_GC != prev_value) {
return false;
}
--- 160,170 ----
}
if (can_retry != NULL) {
*can_retry = true;
}
! size_t prev_value = Atomic::cmpxchg(&_capacity_until_GC, old_capacity_until_GC, new_value);
if (old_capacity_until_GC != prev_value) {
return false;
}
*** 178,188 ****
}
size_t MetaspaceGC::dec_capacity_until_GC(size_t v) {
assert_is_aligned(v, Metaspace::commit_alignment());
! return Atomic::sub(v, &_capacity_until_GC);
}
void MetaspaceGC::initialize() {
// Set the high-water mark to MaxMetapaceSize during VM initializaton since
// we can't do a GC during initialization.
--- 178,188 ----
}
size_t MetaspaceGC::dec_capacity_until_GC(size_t v) {
assert_is_aligned(v, Metaspace::commit_alignment());
! return Atomic::sub(&_capacity_until_GC, v);
}
void MetaspaceGC::initialize() {
// Set the high-water mark to MaxMetapaceSize during VM initializaton since
// we can't do a GC during initialization.
*** 392,410 ****
size_now, words);
*pstat = size_now - words;
}
static void inc_stat_atomically(volatile size_t* pstat, size_t words) {
! Atomic::add(words, pstat);
}
static void dec_stat_atomically(volatile size_t* pstat, size_t words) {
const size_t size_now = *pstat;
assert(size_now >= words, "About to decrement counter below zero "
"(current value: " SIZE_FORMAT ", decrement value: " SIZE_FORMAT ".",
size_now, words);
! Atomic::sub(words, pstat);
}
void MetaspaceUtils::dec_capacity(Metaspace::MetadataType mdtype, size_t words) {
dec_stat_nonatomically(&_capacity_words[mdtype], words);
}
--- 392,410 ----
size_now, words);
*pstat = size_now - words;
}
static void inc_stat_atomically(volatile size_t* pstat, size_t words) {
! Atomic::add(pstat, words);
}
static void dec_stat_atomically(volatile size_t* pstat, size_t words) {
const size_t size_now = *pstat;
assert(size_now >= words, "About to decrement counter below zero "
"(current value: " SIZE_FORMAT ", decrement value: " SIZE_FORMAT ".",
size_now, words);
! Atomic::sub(pstat, words);
}
void MetaspaceUtils::dec_capacity(Metaspace::MetadataType mdtype, size_t words) {
dec_stat_nonatomically(&_capacity_words[mdtype], words);
}
< prev index next >