8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()

Reviewed-by: rkennke, zgu
This commit is contained in:
Aleksey Shipilev 2020-09-16 12:16:51 +00:00
parent 33f8e7022c
commit c781594bfe
2 changed files with 4 additions and 2 deletions

View File

@ -50,7 +50,7 @@ ShenandoahStrDedupQueue::ShenandoahStrDedupQueue() :
ShenandoahStrDedupQueue::~ShenandoahStrDedupQueue() {
MonitorLocker ml(StringDedupQueue_lock, Mutex::_no_safepoint_check_flag);
for (size_t index = 0; index < num_queues(); index ++) {
for (size_t index = 0; index < num_queues_nv(); index ++) {
release_buffers(queue_at(index));
}

View File

@ -99,9 +99,11 @@ public:
void verify_impl();
protected:
size_t num_queues() const { return (_num_producer_queue + 2); }
size_t num_queues() const { return num_queues_nv(); }
private:
inline size_t num_queues_nv() const { return (_num_producer_queue + 2); }
ShenandoahQueueBuffer* new_buffer();
void release_buffers(ShenandoahQueueBuffer* list);