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