8199604_cardtablemodrefbs_rename
13 *
14 * You should have received a copy of the GNU General Public License version
15 * 2 along with this work; if not, write to the Free Software Foundation,
16 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17 *
18 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19 * or visit www.oracle.com if you need additional information or have any
20 * questions.
21 *
22 */
23
24 #ifndef SHARE_VM_GC_SHARED_GENOOPCLOSURES_HPP
25 #define SHARE_VM_GC_SHARED_GENOOPCLOSURES_HPP
26
27 #include "memory/iterator.hpp"
28 #include "oops/oop.hpp"
29
30 class Generation;
31 class HeapWord;
32 class CardTableRS;
33 class CardTableModRefBS;
34 class DefNewGeneration;
35 class KlassRemSet;
36
37 // Closure for iterating roots from a particular generation
38 // Note: all classes deriving from this MUST call this do_barrier
39 // method at the end of their own do_oop method!
40 // Note: no do_oop defined, this is an abstract class.
41
42 class OopsInGenClosure : public ExtendedOopClosure {
43 private:
44 Generation* _orig_gen; // generation originally set in ctor
45 Generation* _gen; // generation being scanned
46
47 protected:
48 // Some subtypes need access.
49 HeapWord* _gen_boundary; // start of generation
50 CardTableRS* _rs; // remembered set
51
52 // For assertions
|
13 *
14 * You should have received a copy of the GNU General Public License version
15 * 2 along with this work; if not, write to the Free Software Foundation,
16 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17 *
18 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19 * or visit www.oracle.com if you need additional information or have any
20 * questions.
21 *
22 */
23
24 #ifndef SHARE_VM_GC_SHARED_GENOOPCLOSURES_HPP
25 #define SHARE_VM_GC_SHARED_GENOOPCLOSURES_HPP
26
27 #include "memory/iterator.hpp"
28 #include "oops/oop.hpp"
29
30 class Generation;
31 class HeapWord;
32 class CardTableRS;
33 class CardTableBarrierSet;
34 class DefNewGeneration;
35 class KlassRemSet;
36
37 // Closure for iterating roots from a particular generation
38 // Note: all classes deriving from this MUST call this do_barrier
39 // method at the end of their own do_oop method!
40 // Note: no do_oop defined, this is an abstract class.
41
42 class OopsInGenClosure : public ExtendedOopClosure {
43 private:
44 Generation* _orig_gen; // generation originally set in ctor
45 Generation* _gen; // generation being scanned
46
47 protected:
48 // Some subtypes need access.
49 HeapWord* _gen_boundary; // start of generation
50 CardTableRS* _rs; // remembered set
51
52 // For assertions
|