8260309: Shenandoah: Clean up ShenandoahBarrierSet

Reviewed-by: shade, zgu
This commit is contained in:
Roman Kennke 2021-02-01 17:29:50 +00:00
parent 181d63ffce
commit df33595e9f
6 changed files with 12 additions and 27 deletions

View File

@ -23,16 +23,13 @@
*/
#include "precompiled.hpp"
#include "gc/shenandoah/shenandoahAsserts.hpp"
#include "gc/shenandoah/shenandoahClosures.inline.hpp"
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
#include "gc/shenandoah/shenandoahBarrierSetClone.inline.hpp"
#include "gc/shenandoah/shenandoahBarrierSetAssembler.hpp"
#include "gc/shenandoah/shenandoahBarrierSetNMethod.hpp"
#include "gc/shenandoah/shenandoahClosures.inline.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahStackWatermark.hpp"
#include "memory/iterator.inline.hpp"
#include "runtime/interfaceSupport.inline.hpp"
#ifdef COMPILER1
#include "gc/shenandoah/c1/shenandoahBarrierSetC1.hpp"
#endif
@ -64,21 +61,13 @@ void ShenandoahBarrierSet::print_on(outputStream* st) const {
st->print("ShenandoahBarrierSet");
}
bool ShenandoahBarrierSet::is_a(BarrierSet::Name bsn) {
return bsn == BarrierSet::ShenandoahBarrierSet;
}
bool ShenandoahBarrierSet::is_aligned(HeapWord* hw) {
return true;
}
bool ShenandoahBarrierSet::need_load_reference_barrier(DecoratorSet decorators, BasicType type) {
if (!ShenandoahLoadRefBarrier) return false;
// Only needed for references
return is_reference_type(type);
}
bool ShenandoahBarrierSet::need_keep_alive_barrier(DecoratorSet decorators,BasicType type) {
bool ShenandoahBarrierSet::need_keep_alive_barrier(DecoratorSet decorators, BasicType type) {
if (!ShenandoahSATBBarrier) return false;
// Only needed for references
if (!is_reference_type(type)) return false;

View File

@ -25,16 +25,15 @@
#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
#define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
#include "gc/shared/accessBarrierSupport.hpp"
#include "gc/shared/barrierSet.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahSATBMarkQueueSet.hpp"
class ShenandoahHeap;
class ShenandoahBarrierSetAssembler;
class ShenandoahBarrierSet: public BarrierSet {
private:
ShenandoahHeap* _heap;
ShenandoahHeap* const _heap;
BufferNode::Allocator _satb_mark_queue_buffer_allocator;
ShenandoahSATBMarkQueueSet _satb_mark_queue_set;
@ -72,10 +71,6 @@ public:
void print_on(outputStream* st) const;
bool is_a(BarrierSet::Name bsn);
bool is_aligned(HeapWord* hw);
template <class T>
inline void arraycopy_barrier(T* src, T* dst, size_t count);
inline void clone_barrier(oop src);
@ -159,11 +154,11 @@ public:
// Clone barrier support
static void clone_in_heap(oop src, oop dst, size_t size);
// Needed for loads on non-heap weak references
// Support for concurrent roots evacuation, updating and weak roots clearing
template <typename T>
static oop oop_load_not_in_heap(T* addr);
// Used for catching bad stores
// Support for concurrent roots marking
template <typename T>
static void oop_store_not_in_heap(T* addr, oop value);

View File

@ -25,7 +25,7 @@
#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
#define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_INLINE_HPP
#include "gc/shared/barrierSet.hpp"
#include "gc/shared/accessBarrierSupport.inline.hpp"
#include "gc/shenandoah/shenandoahAsserts.hpp"
#include "gc/shenandoah/shenandoahBarrierSet.hpp"
#include "gc/shenandoah/shenandoahCollectionSet.inline.hpp"
@ -35,7 +35,6 @@
#include "gc/shenandoah/shenandoahHeapRegion.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
#include "memory/iterator.inline.hpp"
#include "oops/oop.inline.hpp"
inline oop ShenandoahBarrierSet::resolve_forwarded_not_null(oop p) {

View File

@ -29,7 +29,7 @@
#include "gc/shenandoah/shenandoahCollectionSet.inline.hpp"
#include "gc/shenandoah/shenandoahEvacOOMHandler.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "memory/iterator.hpp"
#include "memory/iterator.inline.hpp"
#include "oops/access.hpp"
#include "oops/compressedOops.hpp"

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016, 2019, Red Hat, Inc. All rights reserved.
* Copyright (c) 2016, 2021, Red Hat, Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -29,6 +29,7 @@
#include "gc/shenandoah/shenandoahHeapRegionSet.hpp"
#include "gc/shenandoah/shenandoahMarkingContext.inline.hpp"
#include "logging/logStream.hpp"
#include "memory/resourceArea.hpp"
#include "runtime/orderAccess.hpp"
ShenandoahFreeSet::ShenandoahFreeSet(ShenandoahHeap* heap, size_t max_regions) :

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016, 2020, Red Hat, Inc. All rights reserved.
* Copyright (c) 2016, 2021, Red Hat, Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -28,6 +28,7 @@
#include "gc/shenandoah/shenandoahTaskqueue.inline.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
#include "memory/resourceArea.hpp"
void ShenandoahObjToScanQueueSet::clear() {
uint size = GenericTaskQueueSet<ShenandoahObjToScanQueue, mtGC>::size();