--- a/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.cpp Wed Apr 18 09:46:53 2018 +0200
+++ b/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.cpp Wed Apr 18 10:07:49 2018 +0200
@@ -79,6 +79,11 @@
}
}
+void ModRefBarrierSetAssembler::oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
+ Address dst, Register val, Register tmp1, Register tmp2) {
+ BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2);
+}
+
void ModRefBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
Address dst, Register val, Register tmp1, Register tmp2) {
if (type == T_OBJECT || type == T_ARRAY) {
--- a/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.hpp Wed Apr 18 09:46:53 2018 +0200
+++ b/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.hpp Wed Apr 18 10:07:49 2018 +0200
@@ -39,7 +39,7 @@
virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators,
Register addr, Register count, Register tmp) {}
virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
- Address dst, Register val, Register tmp1, Register tmp2) = 0;
+ Address dst, Register val, Register tmp1, Register tmp2);
public:
virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
Register src, Register dst, Register count);
--- a/src/hotspot/share/gc/epsilon/epsilonHeap.cpp Wed Apr 18 09:46:53 2018 +0200
+++ b/src/hotspot/share/gc/epsilon/epsilonHeap.cpp Wed Apr 18 10:07:49 2018 +0200
@@ -44,7 +44,7 @@
_space = new ContiguousSpace();
_space->initialize(committed_region, true, true);
- set_barrier_set(new EpsilonBarrierSet());
+ BarrierSet::set_barrier_set(new EpsilonBarrierSet());
_max_tlab_size = MIN2(CollectedHeap::max_tlab_size(), EpsilonMaxTLABSize / HeapWordSize);
--- a/src/hotspot/share/gc/shared/gc_globals.hpp Wed Apr 18 09:46:53 2018 +0200
+++ b/src/hotspot/share/gc/shared/gc_globals.hpp Wed Apr 18 10:07:49 2018 +0200
@@ -129,6 +129,9 @@
product(bool, UseParallelOldGC, false, \
"Use the Parallel Old garbage collector") \
\
+ develop(bool, UseEpsilonGC, false, \
+ "Use the Epsilon (no-op) garbage collector") \
+ \
product(uint, ParallelGCThreads, 0, \
"Number of parallel threads parallel gc will use") \
constraint(ParallelGCThreadsConstraintFunc,AfterErgo) \