49 #include "gc/shared/gcTrace.hpp"
50 #include "gc/shared/gcTraceTime.inline.hpp"
51 #include "gc/shared/isGCActiveMark.hpp"
52 #include "gc/shared/referencePolicy.hpp"
53 #include "gc/shared/referenceProcessor.hpp"
54 #include "gc/shared/spaceDecorator.hpp"
55 #include "logging/log.hpp"
56 #include "memory/resourceArea.hpp"
57 #include "oops/instanceKlass.inline.hpp"
58 #include "oops/instanceMirrorKlass.inline.hpp"
59 #include "oops/methodData.hpp"
60 #include "oops/objArrayKlass.inline.hpp"
61 #include "oops/oop.inline.hpp"
62 #include "runtime/atomic.hpp"
63 #include "runtime/fprofiler.hpp"
64 #include "runtime/safepoint.hpp"
65 #include "runtime/vmThread.hpp"
66 #include "services/management.hpp"
67 #include "services/memTracker.hpp"
68 #include "services/memoryService.hpp"
69 #include "utilities/debug.hpp"
70 #include "utilities/events.hpp"
71 #include "utilities/formatBuffer.hpp"
72 #include "utilities/stack.inline.hpp"
73
74 #include <math.h>
75
76 // All sizes are in HeapWords.
77 const size_t ParallelCompactData::Log2RegionSize = 16; // 64K words
78 const size_t ParallelCompactData::RegionSize = (size_t)1 << Log2RegionSize;
79 const size_t ParallelCompactData::RegionSizeBytes =
80 RegionSize << LogHeapWordSize;
81 const size_t ParallelCompactData::RegionSizeOffsetMask = RegionSize - 1;
82 const size_t ParallelCompactData::RegionAddrOffsetMask = RegionSizeBytes - 1;
83 const size_t ParallelCompactData::RegionAddrMask = ~RegionAddrOffsetMask;
84
85 const size_t ParallelCompactData::Log2BlockSize = 7; // 128 words
86 const size_t ParallelCompactData::BlockSize = (size_t)1 << Log2BlockSize;
87 const size_t ParallelCompactData::BlockSizeBytes =
88 BlockSize << LogHeapWordSize;
|
49 #include "gc/shared/gcTrace.hpp"
50 #include "gc/shared/gcTraceTime.inline.hpp"
51 #include "gc/shared/isGCActiveMark.hpp"
52 #include "gc/shared/referencePolicy.hpp"
53 #include "gc/shared/referenceProcessor.hpp"
54 #include "gc/shared/spaceDecorator.hpp"
55 #include "logging/log.hpp"
56 #include "memory/resourceArea.hpp"
57 #include "oops/instanceKlass.inline.hpp"
58 #include "oops/instanceMirrorKlass.inline.hpp"
59 #include "oops/methodData.hpp"
60 #include "oops/objArrayKlass.inline.hpp"
61 #include "oops/oop.inline.hpp"
62 #include "runtime/atomic.hpp"
63 #include "runtime/fprofiler.hpp"
64 #include "runtime/safepoint.hpp"
65 #include "runtime/vmThread.hpp"
66 #include "services/management.hpp"
67 #include "services/memTracker.hpp"
68 #include "services/memoryService.hpp"
69 #include "utilities/align.hpp"
70 #include "utilities/debug.hpp"
71 #include "utilities/events.hpp"
72 #include "utilities/formatBuffer.hpp"
73 #include "utilities/stack.inline.hpp"
74
75 #include <math.h>
76
77 // All sizes are in HeapWords.
78 const size_t ParallelCompactData::Log2RegionSize = 16; // 64K words
79 const size_t ParallelCompactData::RegionSize = (size_t)1 << Log2RegionSize;
80 const size_t ParallelCompactData::RegionSizeBytes =
81 RegionSize << LogHeapWordSize;
82 const size_t ParallelCompactData::RegionSizeOffsetMask = RegionSize - 1;
83 const size_t ParallelCompactData::RegionAddrOffsetMask = RegionSizeBytes - 1;
84 const size_t ParallelCompactData::RegionAddrMask = ~RegionAddrOffsetMask;
85
86 const size_t ParallelCompactData::Log2BlockSize = 7; // 128 words
87 const size_t ParallelCompactData::BlockSize = (size_t)1 << Log2BlockSize;
88 const size_t ParallelCompactData::BlockSizeBytes =
89 BlockSize << LogHeapWordSize;
|