16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_GC_SHARED_SPACE_HPP
26 #define SHARE_VM_GC_SHARED_SPACE_HPP
27
28 #include "gc/shared/blockOffsetTable.hpp"
29 #include "gc/shared/cardTableModRefBS.hpp"
30 #include "gc/shared/workgroup.hpp"
31 #include "memory/allocation.hpp"
32 #include "memory/iterator.hpp"
33 #include "memory/memRegion.hpp"
34 #include "oops/markOop.hpp"
35 #include "runtime/mutexLocker.hpp"
36 #include "utilities/macros.hpp"
37
38 // A space is an abstraction for the "storage units" backing
39 // up the generation abstraction. It includes specific
40 // implementations for keeping track of free and used space,
41 // for iterating over objects and free blocks, etc.
42
43 // Forward decls.
44 class Space;
45 class BlockOffsetArray;
46 class BlockOffsetArrayContigSpace;
47 class Generation;
48 class CompactibleSpace;
49 class BlockOffsetTable;
50 class CardTableRS;
51 class DirtyCardToOopClosure;
52
53 // A Space describes a heap area. Class Space is an abstract
54 // base class.
55 //
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_GC_SHARED_SPACE_HPP
26 #define SHARE_VM_GC_SHARED_SPACE_HPP
27
28 #include "gc/shared/blockOffsetTable.hpp"
29 #include "gc/shared/cardTableModRefBS.hpp"
30 #include "gc/shared/workgroup.hpp"
31 #include "memory/allocation.hpp"
32 #include "memory/iterator.hpp"
33 #include "memory/memRegion.hpp"
34 #include "oops/markOop.hpp"
35 #include "runtime/mutexLocker.hpp"
36 #include "utilities/align.hpp"
37 #include "utilities/macros.hpp"
38
39 // A space is an abstraction for the "storage units" backing
40 // up the generation abstraction. It includes specific
41 // implementations for keeping track of free and used space,
42 // for iterating over objects and free blocks, etc.
43
44 // Forward decls.
45 class Space;
46 class BlockOffsetArray;
47 class BlockOffsetArrayContigSpace;
48 class Generation;
49 class CompactibleSpace;
50 class BlockOffsetTable;
51 class CardTableRS;
52 class DirtyCardToOopClosure;
53
54 // A Space describes a heap area. Class Space is an abstract
55 // base class.
56 //
|