Mercurial > hg > graal-compiler
comparison src/share/vm/gc_interface/collectedHeap.cpp @ 14518:d8041d695d19
Merged with jdk9/dev/hotspot changeset 3812c088b945
author | twisti |
---|---|
date | Tue, 11 Mar 2014 18:45:59 -0700 |
parents | 096c224171c4 1e1c8d358b52 |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14141:f97c5ec83832 | 14518:d8041d695d19 |
---|---|
319 bs->write_region(deferred); | 319 bs->write_region(deferred); |
320 // "Clear" the deferred_card_mark field | 320 // "Clear" the deferred_card_mark field |
321 thread->set_deferred_card_mark(MemRegion()); | 321 thread->set_deferred_card_mark(MemRegion()); |
322 } | 322 } |
323 assert(thread->deferred_card_mark().is_empty(), "invariant"); | 323 assert(thread->deferred_card_mark().is_empty(), "invariant"); |
324 } | |
325 | |
326 size_t CollectedHeap::max_tlab_size() const { | |
327 // TLABs can't be bigger than we can fill with a int[Integer.MAX_VALUE]. | |
328 // This restriction could be removed by enabling filling with multiple arrays. | |
329 // If we compute that the reasonable way as | |
330 // header_size + ((sizeof(jint) * max_jint) / HeapWordSize) | |
331 // we'll overflow on the multiply, so we do the divide first. | |
332 // We actually lose a little by dividing first, | |
333 // but that just makes the TLAB somewhat smaller than the biggest array, | |
334 // which is fine, since we'll be able to fill that. | |
335 size_t max_int_size = typeArrayOopDesc::header_size(T_INT) + | |
336 sizeof(jint) * | |
337 ((juint) max_jint / (size_t) HeapWordSize); | |
338 return align_size_down(max_int_size, MinObjAlignment); | |
324 } | 339 } |
325 | 340 |
326 // Helper for ReduceInitialCardMarks. For performance, | 341 // Helper for ReduceInitialCardMarks. For performance, |
327 // compiled code may elide card-marks for initializing stores | 342 // compiled code may elide card-marks for initializing stores |
328 // to a newly allocated object along the fast-path. We | 343 // to a newly allocated object along the fast-path. We |