< prev index next >
src/share/vm/gc/g1/vmStructs_g1.hpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2017, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -33,10 +33,14 @@
#define VM_STRUCTS_G1(nonstatic_field, static_field) \
\
static_field(HeapRegion, GrainBytes, size_t) \
static_field(HeapRegion, LogOfHRGrainBytes, int) \
\
+ nonstatic_field(HeapRegion, _type, HeapRegionType) \
+ \
+ nonstatic_field(HeapRegionType, _tag, HeapRegionType::Tag volatile) \
+ \
nonstatic_field(G1ContiguousSpace, _top, HeapWord* volatile) \
\
nonstatic_field(G1HeapRegionTable, _base, address) \
nonstatic_field(G1HeapRegionTable, _length, size_t) \
nonstatic_field(G1HeapRegionTable, _biased_base, address) \
@@ -65,13 +69,20 @@
nonstatic_field(PtrQueue, _buf, void**) \
nonstatic_field(PtrQueue, _index, size_t) \
#define VM_INT_CONSTANTS_G1(declare_constant, declare_constant_with_value) \
+ declare_constant(HeapRegionType::FreeTag) \
+ declare_constant(HeapRegionType::YoungMask) \
+ declare_constant(HeapRegionType::HumongousMask) \
+ declare_constant(HeapRegionType::PinnedMask) \
+ declare_constant(HeapRegionType::OldMask)
-#define VM_TYPES_G1(declare_type, declare_toplevel_type) \
+#define VM_TYPES_G1(declare_type, \
+ declare_toplevel_type, \
+ declare_integer_type) \
\
declare_toplevel_type(G1HeapRegionTable) \
\
declare_type(G1CollectedHeap, CollectedHeap) \
\
@@ -79,11 +90,14 @@
declare_type(HeapRegion, G1ContiguousSpace) \
declare_toplevel_type(HeapRegionManager) \
declare_toplevel_type(HeapRegionSetBase) \
declare_toplevel_type(G1MonitoringSupport) \
declare_toplevel_type(PtrQueue) \
+ declare_toplevel_type(HeapRegionType) \
\
declare_toplevel_type(G1CollectedHeap*) \
declare_toplevel_type(HeapRegion*) \
declare_toplevel_type(G1MonitoringSupport*) \
+ \
+ declare_integer_type(HeapRegionType::Tag volatile)
#endif // SHARE_VM_GC_G1_VMSTRUCTS_G1_HPP
< prev index next >