Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp @ 20337:1f1d373cd044
8038423: G1: Decommit memory within heap
Summary: Allow G1 to decommit memory of arbitrary regions within the heap and their associated auxiliary data structures card table, BOT, hot card cache, and mark bitmaps.
Reviewed-by: mgerdin, brutisso, jwilhelm
author | tschatzl |
---|---|
date | Thu, 21 Aug 2014 11:47:10 +0200 |
parents | 6701abbc4441 |
children |
comparison
equal
deleted
inserted
replaced
20336:6701abbc4441 | 20337:1f1d373cd044 |
---|---|
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSEQ_INLINE_HPP | 25 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSEQ_INLINE_HPP |
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSEQ_INLINE_HPP | 26 #define SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSEQ_INLINE_HPP |
27 | 27 |
28 #include "gc_implementation/g1/heapRegion.hpp" | 28 #include "gc_implementation/g1/heapRegion.hpp" |
29 #include "gc_implementation/g1/heapRegionSeq.hpp" | 29 #include "gc_implementation/g1/heapRegionSeq.hpp" |
30 #include "gc_implementation/g1/heapRegionSet.inline.hpp" | |
30 | 31 |
31 inline HeapRegion* HeapRegionSeq::addr_to_region(HeapWord* addr) const { | 32 inline HeapRegion* HeapRegionSeq::addr_to_region(HeapWord* addr) const { |
32 assert(addr < heap_end(), | 33 assert(addr < heap_end(), |
33 err_msg("addr: "PTR_FORMAT" end: "PTR_FORMAT, p2i(addr), p2i(heap_end()))); | 34 err_msg("addr: "PTR_FORMAT" end: "PTR_FORMAT, p2i(addr), p2i(heap_end()))); |
34 assert(addr >= heap_bottom(), | 35 assert(addr >= heap_bottom(), |
35 err_msg("addr: "PTR_FORMAT" bottom: "PTR_FORMAT, p2i(addr), p2i(heap_bottom()))); | 36 err_msg("addr: "PTR_FORMAT" bottom: "PTR_FORMAT, p2i(addr), p2i(heap_bottom()))); |
36 | 37 |
37 HeapRegion* hr = _regions.get_by_address(addr); | 38 HeapRegion* hr = _regions.get_by_address(addr); |
38 assert(hr != NULL, "invariant"); | |
39 return hr; | 39 return hr; |
40 } | 40 } |
41 | 41 |
42 inline HeapRegion* HeapRegionSeq::at(uint index) const { | 42 inline HeapRegion* HeapRegionSeq::at(uint index) const { |
43 assert(is_available(index), "pre-condition"); | 43 assert(is_available(index), "pre-condition"); |