Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | f69a5d43dc19 |
children | 685df3c6f84b |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
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. |
29 volatile_nonstatic_field, \ | 29 volatile_nonstatic_field, \ |
30 static_field) \ | 30 static_field) \ |
31 nonstatic_field(CompactibleFreeListSpace, _collector, CMSCollector*) \ | 31 nonstatic_field(CompactibleFreeListSpace, _collector, CMSCollector*) \ |
32 nonstatic_field(CompactibleFreeListSpace, _bt, BlockOffsetArrayNonContigSpace) \ | 32 nonstatic_field(CompactibleFreeListSpace, _bt, BlockOffsetArrayNonContigSpace) \ |
33 \ | 33 \ |
34 nonstatic_field(CMSPermGen, _gen, ConcurrentMarkSweepGeneration*) \ | |
35 nonstatic_field(CMSBitMap, _bmStartWord, HeapWord*) \ | |
36 nonstatic_field(CMSBitMap, _bmWordSize, size_t) \ | 34 nonstatic_field(CMSBitMap, _bmWordSize, size_t) \ |
37 nonstatic_field(CMSBitMap, _shifter, const int) \ | 35 nonstatic_field(CMSBitMap, _shifter, const int) \ |
38 nonstatic_field(CMSBitMap, _bm, BitMap) \ | 36 nonstatic_field(CMSBitMap, _bm, BitMap) \ |
39 nonstatic_field(CMSBitMap, _virtual_space, VirtualSpace) \ | 37 nonstatic_field(CMSBitMap, _virtual_space, VirtualSpace) \ |
40 nonstatic_field(CMSCollector, _markBitMap, CMSBitMap) \ | 38 nonstatic_field(CMSCollector, _markBitMap, CMSBitMap) \ |
55 #define VM_TYPES_CMS(declare_type, \ | 53 #define VM_TYPES_CMS(declare_type, \ |
56 declare_toplevel_type) \ | 54 declare_toplevel_type) \ |
57 \ | 55 \ |
58 declare_type(ConcurrentMarkSweepGeneration,CardGeneration) \ | 56 declare_type(ConcurrentMarkSweepGeneration,CardGeneration) \ |
59 declare_type(CompactibleFreeListSpace, CompactibleSpace) \ | 57 declare_type(CompactibleFreeListSpace, CompactibleSpace) \ |
60 declare_type(CMSPermGenGen, ConcurrentMarkSweepGeneration) \ | |
61 declare_type(CMSPermGen, PermGen) \ | |
62 declare_type(ConcurrentMarkSweepThread, NamedThread) \ | 58 declare_type(ConcurrentMarkSweepThread, NamedThread) \ |
63 declare_type(SurrogateLockerThread, JavaThread) \ | 59 declare_type(SurrogateLockerThread, JavaThread) \ |
64 declare_toplevel_type(CMSCollector) \ | 60 declare_toplevel_type(CMSCollector) \ |
65 declare_toplevel_type(CMSBitMap) \ | 61 declare_toplevel_type(CMSBitMap) \ |
66 declare_toplevel_type(FreeChunk) \ | 62 declare_toplevel_type(FreeChunk) \ |
78 declare_toplevel_type(FreeBlockDictionary<FreeChunk>) \ | 74 declare_toplevel_type(FreeBlockDictionary<FreeChunk>) \ |
79 declare_type(BinaryTreeDictionary<FreeChunk>, FreeBlockDictionary<FreeChunk>) | 75 declare_type(BinaryTreeDictionary<FreeChunk>, FreeBlockDictionary<FreeChunk>) |
80 | 76 |
81 #define VM_INT_CONSTANTS_CMS(declare_constant) \ | 77 #define VM_INT_CONSTANTS_CMS(declare_constant) \ |
82 declare_constant(Generation::ConcurrentMarkSweep) \ | 78 declare_constant(Generation::ConcurrentMarkSweep) \ |
83 declare_constant(PermGen::ConcurrentMarkSweep) | |
84 | 79 |
85 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP | 80 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP |