mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8064947: Clean up BarrierSet ctor/dtor
Make abstract base call contructors protected and require a "kind" argument. Reviewed-by: jmasa, jwilhelm
This commit is contained in:
parent
71a6555ee3
commit
3bd08574dc
7 changed files with 32 additions and 31 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. 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
|
||||
|
@ -284,20 +284,22 @@ public:
|
|||
return bsn == BarrierSet::CardTableModRef || ModRefBarrierSet::is_a(bsn);
|
||||
}
|
||||
|
||||
CardTableModRefBS(MemRegion whole_heap);
|
||||
~CardTableModRefBS();
|
||||
|
||||
virtual void initialize();
|
||||
|
||||
// *** Barrier set functions.
|
||||
|
||||
bool has_write_ref_pre_barrier() { return false; }
|
||||
|
||||
protected:
|
||||
|
||||
CardTableModRefBS(MemRegion whole_heap, BarrierSet::Name kind);
|
||||
~CardTableModRefBS();
|
||||
|
||||
// Record a reference update. Note that these versions are precise!
|
||||
// The scanning code has to handle the fact that the write barrier may be
|
||||
// either precise or imprecise. We make non-virtual inline variants of
|
||||
// these functions here for performance.
|
||||
protected:
|
||||
|
||||
void write_ref_field_work(oop obj, size_t offset, oop newVal);
|
||||
virtual void write_ref_field_work(void* field, oop newVal, bool release = false);
|
||||
public:
|
||||
|
@ -478,7 +480,7 @@ protected:
|
|||
bool card_may_have_been_dirty(jbyte cv);
|
||||
public:
|
||||
CardTableModRefBSForCTRS(MemRegion whole_heap) :
|
||||
CardTableModRefBS(whole_heap) {}
|
||||
CardTableModRefBS(whole_heap, BarrierSet::CardTableModRef) {}
|
||||
|
||||
void set_CTRS(CardTableRS* rs) { _rs = rs; }
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue