Mercurial > hg > truffle
comparison src/share/vm/gc_interface/collectedHeap.cpp @ 17727:cfd4aac53239
8030177: G1: Enable TLAB resizing
Reviewed-by: tschatzl, stefank, jmasa
author | brutisso |
---|---|
date | Mon, 27 Jan 2014 13:14:53 +0100 |
parents | 8f07aa079343 |
children | d8041d695d19 537c8e21b118 |
comparison
equal
deleted
inserted
replaced
17726:085b304a1cc5 | 17727:cfd4aac53239 |
---|---|
316 bs->write_region(deferred); | 316 bs->write_region(deferred); |
317 // "Clear" the deferred_card_mark field | 317 // "Clear" the deferred_card_mark field |
318 thread->set_deferred_card_mark(MemRegion()); | 318 thread->set_deferred_card_mark(MemRegion()); |
319 } | 319 } |
320 assert(thread->deferred_card_mark().is_empty(), "invariant"); | 320 assert(thread->deferred_card_mark().is_empty(), "invariant"); |
321 } | |
322 | |
323 size_t CollectedHeap::max_tlab_size() const { | |
324 // TLABs can't be bigger than we can fill with a int[Integer.MAX_VALUE]. | |
325 // This restriction could be removed by enabling filling with multiple arrays. | |
326 // If we compute that the reasonable way as | |
327 // header_size + ((sizeof(jint) * max_jint) / HeapWordSize) | |
328 // we'll overflow on the multiply, so we do the divide first. | |
329 // We actually lose a little by dividing first, | |
330 // but that just makes the TLAB somewhat smaller than the biggest array, | |
331 // which is fine, since we'll be able to fill that. | |
332 size_t max_int_size = typeArrayOopDesc::header_size(T_INT) + | |
333 sizeof(jint) * | |
334 ((juint) max_jint / (size_t) HeapWordSize); | |
335 return align_size_down(max_int_size, MinObjAlignment); | |
321 } | 336 } |
322 | 337 |
323 // Helper for ReduceInitialCardMarks. For performance, | 338 // Helper for ReduceInitialCardMarks. For performance, |
324 // compiled code may elide card-marks for initializing stores | 339 // compiled code may elide card-marks for initializing stores |
325 // to a newly allocated object along the fast-path. We | 340 // to a newly allocated object along the fast-path. We |