Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/vmStructs_g1.hpp @ 12305:a19bea467577
7163191: G1: introduce a "heap spanning table" abstraction
Summary: Add G1BiasedArray<T> that is an array where each element represents a fixed-sized subdivision of the heap. Use this abstraction to refactor the HeapRegionSeq class.
Reviewed-by: brutisso
author | tschatzl |
---|---|
date | Wed, 25 Sep 2013 13:25:24 +0200 |
parents | 69f26e8e09f9 |
children | 6b8e10e585df de6a9e811145 |
comparison
equal
deleted
inserted
replaced
12304:10cc3b624f8f | 12305:a19bea467577 |
---|---|
32 #define VM_STRUCTS_G1(nonstatic_field, static_field) \ | 32 #define VM_STRUCTS_G1(nonstatic_field, static_field) \ |
33 \ | 33 \ |
34 static_field(HeapRegion, GrainBytes, size_t) \ | 34 static_field(HeapRegion, GrainBytes, size_t) \ |
35 static_field(HeapRegion, LogOfHRGrainBytes, int) \ | 35 static_field(HeapRegion, LogOfHRGrainBytes, int) \ |
36 \ | 36 \ |
37 nonstatic_field(HeapRegionSeq, _regions, HeapRegion**) \ | 37 nonstatic_field(G1HeapRegionTable, _base, address) \ |
38 nonstatic_field(HeapRegionSeq, _length, uint) \ | 38 nonstatic_field(G1HeapRegionTable, _length, size_t) \ |
39 nonstatic_field(G1HeapRegionTable, _biased_base, address) \ | |
40 nonstatic_field(G1HeapRegionTable, _bias, size_t) \ | |
41 nonstatic_field(G1HeapRegionTable, _shift_by, uint) \ | |
42 \ | |
43 nonstatic_field(HeapRegionSeq, _regions, G1HeapRegionTable) \ | |
44 nonstatic_field(HeapRegionSeq, _committed_length, uint) \ | |
39 \ | 45 \ |
40 nonstatic_field(G1CollectedHeap, _hrs, HeapRegionSeq) \ | 46 nonstatic_field(G1CollectedHeap, _hrs, HeapRegionSeq) \ |
41 nonstatic_field(G1CollectedHeap, _g1_committed, MemRegion) \ | 47 nonstatic_field(G1CollectedHeap, _g1_committed, MemRegion) \ |
42 nonstatic_field(G1CollectedHeap, _summary_bytes_used, size_t) \ | 48 nonstatic_field(G1CollectedHeap, _summary_bytes_used, size_t) \ |
43 nonstatic_field(G1CollectedHeap, _g1mm, G1MonitoringSupport*) \ | 49 nonstatic_field(G1CollectedHeap, _g1mm, G1MonitoringSupport*) \ |
56 nonstatic_field(HeapRegionSetBase, _total_used_bytes, size_t) \ | 62 nonstatic_field(HeapRegionSetBase, _total_used_bytes, size_t) \ |
57 | 63 |
58 | 64 |
59 #define VM_TYPES_G1(declare_type, declare_toplevel_type) \ | 65 #define VM_TYPES_G1(declare_type, declare_toplevel_type) \ |
60 \ | 66 \ |
67 declare_toplevel_type(G1HeapRegionTable) \ | |
68 \ | |
61 declare_type(G1CollectedHeap, SharedHeap) \ | 69 declare_type(G1CollectedHeap, SharedHeap) \ |
62 \ | 70 \ |
63 declare_type(HeapRegion, ContiguousSpace) \ | 71 declare_type(HeapRegion, ContiguousSpace) \ |
64 declare_toplevel_type(HeapRegionSeq) \ | 72 declare_toplevel_type(HeapRegionSeq) \ |
65 declare_toplevel_type(HeapRegionSetBase) \ | 73 declare_toplevel_type(HeapRegionSetBase) \ |