8267579: Thread::cooked_allocated_bytes() hits assert(left >= right) failed: avoid underflow

Reviewed-by: dcubed, stefank, kbarrett
This commit is contained in:
Markus Grönlund 2021-06-14 10:41:00 +00:00
parent 51f3427e9b
commit c4207355d3
3 changed files with 21 additions and 1 deletions

View file

@ -31,6 +31,7 @@
#include "memory/resourceArea.hpp"
#include "memory/universe.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/atomic.hpp"
#include "runtime/perfData.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/threadSMR.hpp"
@ -473,3 +474,11 @@ size_t ThreadLocalAllocBuffer::end_reserve() {
size_t reserve_size = Universe::heap()->tlab_alloc_reserve();
return MAX2(reserve_size, (size_t)_reserve_for_allocation_prefetch);
}
const HeapWord* ThreadLocalAllocBuffer::start_relaxed() const {
return Atomic::load(&_start);
}
const HeapWord* ThreadLocalAllocBuffer::top_relaxed() const {
return Atomic::load(&_top);
}