Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp @ 1571:2d127394260e
6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
Summary: Added new product ObjectAlignmentInBytes flag to control object alignment.
Reviewed-by: twisti, ysr, iveresov
author | kvn |
---|---|
date | Thu, 27 May 2010 18:01:56 -0700 |
parents | a8127dc669ba |
children | e9ff18c4ace7 |
comparison
equal
deleted
inserted
replaced
1570:de91a2f25c7e | 1571:2d127394260e |
---|---|
89 // by the containing generation. Thus, none of the methods in this | 89 // by the containing generation. Thus, none of the methods in this |
90 // space are re-entrant. | 90 // space are re-entrant. |
91 enum SomeConstants { | 91 enum SomeConstants { |
92 SmallForLinearAlloc = 16, // size < this then use _sLAB | 92 SmallForLinearAlloc = 16, // size < this then use _sLAB |
93 SmallForDictionary = 257, // size < this then use _indexedFreeList | 93 SmallForDictionary = 257, // size < this then use _indexedFreeList |
94 IndexSetSize = SmallForDictionary, // keep this odd-sized | 94 IndexSetSize = SmallForDictionary // keep this odd-sized |
95 IndexSetStart = MinObjAlignment, | |
96 IndexSetStride = MinObjAlignment | |
97 }; | 95 }; |
96 static int IndexSetStart; | |
97 static int IndexSetStride; | |
98 | 98 |
99 private: | 99 private: |
100 enum FitStrategyOptions { | 100 enum FitStrategyOptions { |
101 FreeBlockStrategyNone = 0, | 101 FreeBlockStrategyNone = 0, |
102 FreeBlockBestFitFirst | 102 FreeBlockBestFitFirst |
276 bool bestFitFirst() { return _fitStrategy == FreeBlockBestFitFirst; } | 276 bool bestFitFirst() { return _fitStrategy == FreeBlockBestFitFirst; } |
277 FreeBlockDictionary* dictionary() const { return _dictionary; } | 277 FreeBlockDictionary* dictionary() const { return _dictionary; } |
278 HeapWord* nearLargestChunk() const { return _nearLargestChunk; } | 278 HeapWord* nearLargestChunk() const { return _nearLargestChunk; } |
279 void set_nearLargestChunk(HeapWord* v) { _nearLargestChunk = v; } | 279 void set_nearLargestChunk(HeapWord* v) { _nearLargestChunk = v; } |
280 | 280 |
281 // Set CMS global values | |
282 static void set_cms_values(); | |
283 | |
281 // Return the free chunk at the end of the space. If no such | 284 // Return the free chunk at the end of the space. If no such |
282 // chunk exists, return NULL. | 285 // chunk exists, return NULL. |
283 FreeChunk* find_chunk_at_end(); | 286 FreeChunk* find_chunk_at_end(); |
284 | 287 |
285 bool adaptive_freelists() const { return _adaptive_freelists; } | 288 bool adaptive_freelists() const { return _adaptive_freelists; } |