Mercurial > hg > graal-compiler
annotate src/share/vm/gc_implementation/g1/vmStructs_g1.hpp @ 17755:96b1c2e06e25
8027295: Free CSet takes ~50% of young pause time
Summary: Improve fast card cache iteration and avoid taking locks when freeing the collection set.
Reviewed-by: brutisso
author | tschatzl |
---|---|
date | Mon, 24 Mar 2014 15:30:36 +0100 |
parents | 58fc1b1523dc |
children | 52b4284cb496 1526a938e670 |
rev | line source |
---|---|
3972 | 1 /* |
17467
55fb97c4c58d
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
mikael
parents:
12305
diff
changeset
|
2 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. |
3972 | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | |
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 | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
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_IMPLEMENTATION_G1_VMSTRUCTS_G1_HPP | |
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_VMSTRUCTS_G1_HPP | |
27 | |
28 #include "gc_implementation/g1/heapRegion.hpp" | |
29 #include "gc_implementation/g1/heapRegionSeq.inline.hpp" | |
30 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" | |
31 | |
32 #define VM_STRUCTS_G1(nonstatic_field, static_field) \ | |
33 \ | |
12258
69f26e8e09f9
8024760: add more types, fields and constants to VMStructs
twisti
parents:
6010
diff
changeset
|
34 static_field(HeapRegion, GrainBytes, size_t) \ |
69f26e8e09f9
8024760: add more types, fields and constants to VMStructs
twisti
parents:
6010
diff
changeset
|
35 static_field(HeapRegion, LogOfHRGrainBytes, int) \ |
3972 | 36 \ |
12305
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
37 nonstatic_field(G1HeapRegionTable, _base, address) \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
38 nonstatic_field(G1HeapRegionTable, _length, size_t) \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
39 nonstatic_field(G1HeapRegionTable, _biased_base, address) \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
40 nonstatic_field(G1HeapRegionTable, _bias, size_t) \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
41 nonstatic_field(G1HeapRegionTable, _shift_by, uint) \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
42 \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
43 nonstatic_field(HeapRegionSeq, _regions, G1HeapRegionTable) \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
44 nonstatic_field(HeapRegionSeq, _committed_length, uint) \ |
3972 | 45 \ |
46 nonstatic_field(G1CollectedHeap, _hrs, HeapRegionSeq) \ | |
47 nonstatic_field(G1CollectedHeap, _g1_committed, MemRegion) \ | |
48 nonstatic_field(G1CollectedHeap, _summary_bytes_used, size_t) \ | |
3984
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
49 nonstatic_field(G1CollectedHeap, _g1mm, G1MonitoringSupport*) \ |
4830
0b3d1ec6eaee
7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents:
3986
diff
changeset
|
50 nonstatic_field(G1CollectedHeap, _old_set, HeapRegionSetBase) \ |
0b3d1ec6eaee
7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents:
3986
diff
changeset
|
51 nonstatic_field(G1CollectedHeap, _humongous_set, HeapRegionSetBase) \ |
3984
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
52 \ |
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
53 nonstatic_field(G1MonitoringSupport, _eden_committed, size_t) \ |
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
54 nonstatic_field(G1MonitoringSupport, _eden_used, size_t) \ |
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
55 nonstatic_field(G1MonitoringSupport, _survivor_committed, size_t) \ |
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
56 nonstatic_field(G1MonitoringSupport, _survivor_used, size_t) \ |
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
57 nonstatic_field(G1MonitoringSupport, _old_committed, size_t) \ |
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
58 nonstatic_field(G1MonitoringSupport, _old_used, size_t) \ |
4830
0b3d1ec6eaee
7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents:
3986
diff
changeset
|
59 \ |
17736
58fc1b1523dc
8034079: G1: Refactor the HeapRegionSet hierarchy
brutisso
parents:
17467
diff
changeset
|
60 nonstatic_field(HeapRegionSetBase, _count, HeapRegionSetCount) \ |
58fc1b1523dc
8034079: G1: Refactor the HeapRegionSet hierarchy
brutisso
parents:
17467
diff
changeset
|
61 \ |
58fc1b1523dc
8034079: G1: Refactor the HeapRegionSet hierarchy
brutisso
parents:
17467
diff
changeset
|
62 nonstatic_field(HeapRegionSetCount, _length, uint) \ |
58fc1b1523dc
8034079: G1: Refactor the HeapRegionSet hierarchy
brutisso
parents:
17467
diff
changeset
|
63 nonstatic_field(HeapRegionSetCount, _capacity, size_t) \ |
3972 | 64 |
65 | |
66 #define VM_TYPES_G1(declare_type, declare_toplevel_type) \ | |
67 \ | |
12305
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
68 declare_toplevel_type(G1HeapRegionTable) \ |
a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
tschatzl
parents:
12258
diff
changeset
|
69 \ |
3972 | 70 declare_type(G1CollectedHeap, SharedHeap) \ |
71 \ | |
72 declare_type(HeapRegion, ContiguousSpace) \ | |
73 declare_toplevel_type(HeapRegionSeq) \ | |
4830
0b3d1ec6eaee
7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents:
3986
diff
changeset
|
74 declare_toplevel_type(HeapRegionSetBase) \ |
17736
58fc1b1523dc
8034079: G1: Refactor the HeapRegionSet hierarchy
brutisso
parents:
17467
diff
changeset
|
75 declare_toplevel_type(HeapRegionSetCount) \ |
3984
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
76 declare_toplevel_type(G1MonitoringSupport) \ |
3972 | 77 \ |
78 declare_toplevel_type(G1CollectedHeap*) \ | |
79 declare_toplevel_type(HeapRegion*) \ | |
3984
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
80 declare_toplevel_type(G1MonitoringSupport*) \ |
81aa07130d30
7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents:
3972
diff
changeset
|
81 |
3972 | 82 |
83 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_VMSTRUCTS_G1_HPP |