comparison src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp @ 6948:e522a00b91aa

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ after NPG - C++ build works
author Doug Simon <doug.simon@oracle.com>
date Mon, 12 Nov 2012 23:14:12 +0100
parents 685df3c6f84b
children 7c15faa95ce7
comparison
equal deleted inserted replaced
6711:ae13cc658b80 6948:e522a00b91aa
1 /* 1 /*
2 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
23 */ 23 */
24 24
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP 25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP
26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP 26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP
27 27
28 typedef BinaryTreeDictionary<FreeChunk, AdaptiveFreeList> AFLBinaryTreeDictionary;
29
28 #define VM_STRUCTS_CMS(nonstatic_field, \ 30 #define VM_STRUCTS_CMS(nonstatic_field, \
29 volatile_nonstatic_field, \ 31 volatile_nonstatic_field, \
30 static_field) \ 32 static_field) \
31 nonstatic_field(CompactibleFreeListSpace, _collector, CMSCollector*) \ 33 nonstatic_field(CompactibleFreeListSpace, _collector, CMSCollector*) \
32 nonstatic_field(CompactibleFreeListSpace, _bt, BlockOffsetArrayNonContigSpace) \ 34 nonstatic_field(CompactibleFreeListSpace, _bt, BlockOffsetArrayNonContigSpace) \
33 \ 35 \
34 nonstatic_field(CMSPermGen, _gen, ConcurrentMarkSweepGeneration*) \
35 nonstatic_field(CMSBitMap, _bmStartWord, HeapWord*) \
36 nonstatic_field(CMSBitMap, _bmWordSize, size_t) \ 36 nonstatic_field(CMSBitMap, _bmWordSize, size_t) \
37 nonstatic_field(CMSBitMap, _shifter, const int) \ 37 nonstatic_field(CMSBitMap, _shifter, const int) \
38 nonstatic_field(CMSBitMap, _bm, BitMap) \ 38 nonstatic_field(CMSBitMap, _bm, BitMap) \
39 nonstatic_field(CMSBitMap, _virtual_space, VirtualSpace) \ 39 nonstatic_field(CMSBitMap, _virtual_space, VirtualSpace) \
40 nonstatic_field(CMSCollector, _markBitMap, CMSBitMap) \ 40 nonstatic_field(CMSCollector, _markBitMap, CMSBitMap) \
41 nonstatic_field(ConcurrentMarkSweepGeneration, _cmsSpace, CompactibleFreeListSpace*) \ 41 nonstatic_field(ConcurrentMarkSweepGeneration, _cmsSpace, CompactibleFreeListSpace*) \
42 static_field(ConcurrentMarkSweepThread, _collector, CMSCollector*) \ 42 static_field(ConcurrentMarkSweepThread, _collector, CMSCollector*) \
43 volatile_nonstatic_field(FreeChunk, _size, size_t) \
44 nonstatic_field(FreeChunk, _next, FreeChunk*) \
45 nonstatic_field(FreeChunk, _prev, FreeChunk*) \
46 nonstatic_field(LinearAllocBlock, _word_size, size_t) \ 43 nonstatic_field(LinearAllocBlock, _word_size, size_t) \
47 nonstatic_field(FreeList<FreeChunk>, _size, size_t) \ 44 nonstatic_field(AFLBinaryTreeDictionary, _total_size, size_t) \
48 nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \
49 nonstatic_field(BinaryTreeDictionary<FreeChunk>,_total_size, size_t) \
50 nonstatic_field(CompactibleFreeListSpace, _dictionary, FreeBlockDictionary<FreeChunk>*) \
51 nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0], FreeList<FreeChunk>) \ 45 nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0], FreeList<FreeChunk>) \
52 nonstatic_field(CompactibleFreeListSpace, _smallLinearAllocBlock, LinearAllocBlock) 46 nonstatic_field(CompactibleFreeListSpace, _smallLinearAllocBlock, LinearAllocBlock)
53 47
54 48
55 #define VM_TYPES_CMS(declare_type, \ 49 #define VM_TYPES_CMS(declare_type, \
56 declare_toplevel_type) \ 50 declare_toplevel_type) \
57 \ 51 \
58 declare_type(ConcurrentMarkSweepGeneration,CardGeneration) \ 52 declare_type(ConcurrentMarkSweepGeneration,CardGeneration) \
59 declare_type(CompactibleFreeListSpace, CompactibleSpace) \ 53 declare_type(CompactibleFreeListSpace, CompactibleSpace) \
60 declare_type(CMSPermGenGen, ConcurrentMarkSweepGeneration) \
61 declare_type(CMSPermGen, PermGen) \
62 declare_type(ConcurrentMarkSweepThread, NamedThread) \ 54 declare_type(ConcurrentMarkSweepThread, NamedThread) \
63 declare_type(SurrogateLockerThread, JavaThread) \ 55 declare_type(SurrogateLockerThread, JavaThread) \
64 declare_toplevel_type(CMSCollector) \ 56 declare_toplevel_type(CMSCollector) \
65 declare_toplevel_type(CMSBitMap) \ 57 declare_toplevel_type(CMSBitMap) \
66 declare_toplevel_type(FreeChunk) \ 58 declare_toplevel_type(FreeChunk) \
59 declare_toplevel_type(Metablock) \
67 declare_toplevel_type(ConcurrentMarkSweepThread*) \ 60 declare_toplevel_type(ConcurrentMarkSweepThread*) \
68 declare_toplevel_type(ConcurrentMarkSweepGeneration*) \ 61 declare_toplevel_type(ConcurrentMarkSweepGeneration*) \
69 declare_toplevel_type(SurrogateLockerThread*) \ 62 declare_toplevel_type(SurrogateLockerThread*) \
70 declare_toplevel_type(CompactibleFreeListSpace*) \ 63 declare_toplevel_type(CompactibleFreeListSpace*) \
71 declare_toplevel_type(CMSCollector*) \ 64 declare_toplevel_type(CMSCollector*) \
72 declare_toplevel_type(FreeChunk*) \ 65 declare_toplevel_type(AFLBinaryTreeDictionary*) \
73 declare_toplevel_type(BinaryTreeDictionary<FreeChunk>*) \
74 declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \
75 declare_toplevel_type(FreeList<FreeChunk>*) \
76 declare_toplevel_type(FreeList<FreeChunk>) \
77 declare_toplevel_type(LinearAllocBlock) \ 66 declare_toplevel_type(LinearAllocBlock) \
78 declare_toplevel_type(FreeBlockDictionary<FreeChunk>) \ 67 declare_toplevel_type(FreeBlockDictionary<FreeChunk>) \
79 declare_type(BinaryTreeDictionary<FreeChunk>, FreeBlockDictionary<FreeChunk>) 68 declare_type(AFLBinaryTreeDictionary, FreeBlockDictionary<FreeChunk>) \
69 declare_type(AFLBinaryTreeDictionary, FreeBlockDictionary<FreeChunk>) \
80 70
81 #define VM_INT_CONSTANTS_CMS(declare_constant) \ 71 #define VM_INT_CONSTANTS_CMS(declare_constant) \
82 declare_constant(Generation::ConcurrentMarkSweep) \ 72 declare_constant(Generation::ConcurrentMarkSweep) \
83 declare_constant(PermGen::ConcurrentMarkSweep)
84 73
85 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP 74 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP