Mercurial > hg > truffle
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 |