< prev index next > src/hotspot/share/gc/shared/barrierSet.hpp
rename things
#include "oops/oopsHierarchy.hpp"
#include "utilities/fakeRttiSupport.hpp"
#include "utilities/macros.hpp"
class JavaThread;
-class BarrierSetCodeGen;
+class BarrierSetAssembler;
// This class provides the interface between a barrier implementation and
// the rest of the system.
class BarrierSet: public CHeapObj<mtGC> {
// entry, and pass it up to its base class.
typedef FakeRttiSupport<BarrierSet, Name> FakeRtti;
private:
FakeRtti _fake_rtti;
- BarrierSetCodeGen* _code_gen;
+ BarrierSetAssembler* _barrier_set_assembler;
public:
// Metafunction mapping a class derived from BarrierSet to the
// corresponding Name enum tag.
template<typename T> struct GetName;
bool is_a(BarrierSet::Name bsn) const { return _fake_rtti.has_tag(bsn); }
// End of fake RTTI support.
protected:
- BarrierSet(BarrierSetCodeGen* code_gen, const FakeRtti& fake_rtti) :
+ BarrierSet(BarrierSetAssembler* barrier_set_assembler, const FakeRtti& fake_rtti) :
_fake_rtti(fake_rtti),
- _code_gen(code_gen) { }
+ _barrier_set_assembler(barrier_set_assembler) { }
~BarrierSet() { }
- template <class BarrierSetCodeGenT>
- BarrierSetCodeGen* make_code_gen() {
- return NOT_ZERO(new BarrierSetCodeGenT()) ZERO_ONLY(NULL);
+ template <class BarrierSetAssemblerT>
+ BarrierSetAssembler* make_barrier_set_assembler() {
+ return NOT_ZERO(new BarrierSetAssemblerT()) ZERO_ONLY(NULL);
}
public:
// Support for optimizing compilers to call the barrier set on slow path allocations
// that did not enter a TLAB. Used for e.g. ReduceInitialCardMarks.
// Print a description of the memory for the barrier set
virtual void print_on(outputStream* st) const = 0;
static void set_bs(BarrierSet* bs) { _bs = bs; }
- BarrierSetCodeGen* code_gen() {
- assert(_code_gen != NULL, "should be set");
- return _code_gen;
+ BarrierSetAssembler* barrier_set_assembler() {
+ assert(_barrier_set_assembler != NULL, "should be set");
+ return _barrier_set_assembler;
}
// The AccessBarrier of a BarrierSet subclass is called by the Access API
// (cf. oops/access.hpp) to perform decorated accesses. GC implementations
// may override these default access operations by declaring an
< prev index next >