461 return result;
462 }
463
464 void ParallelScavengeHeap::ensure_parsability(bool retire_tlabs) {
465 CollectedHeap::ensure_parsability(retire_tlabs);
466 young_gen()->eden_space()->ensure_parsability();
467 }
468
469 size_t ParallelScavengeHeap::tlab_capacity(Thread* thr) const {
470 return young_gen()->eden_space()->tlab_capacity(thr);
471 }
472
473 size_t ParallelScavengeHeap::tlab_used(Thread* thr) const {
474 return young_gen()->eden_space()->tlab_used(thr);
475 }
476
477 size_t ParallelScavengeHeap::unsafe_max_tlab_alloc(Thread* thr) const {
478 return young_gen()->eden_space()->unsafe_max_tlab_alloc(thr);
479 }
480
481 HeapWord* ParallelScavengeHeap::allocate_new_tlab(size_t size) {
482 return young_gen()->allocate(size);
483 }
484
485 void ParallelScavengeHeap::accumulate_statistics_all_tlabs() {
486 CollectedHeap::accumulate_statistics_all_tlabs();
487 }
488
489 void ParallelScavengeHeap::resize_all_tlabs() {
490 CollectedHeap::resize_all_tlabs();
491 }
492
493 // This method is used by System.gc() and JVMTI.
494 void ParallelScavengeHeap::collect(GCCause::Cause cause) {
495 assert(!Heap_lock->owned_by_self(),
496 "this thread should not own the Heap_lock");
497
498 uint gc_count = 0;
499 uint full_gc_count = 0;
500 {
501 MutexLocker ml(Heap_lock);
|
461 return result;
462 }
463
464 void ParallelScavengeHeap::ensure_parsability(bool retire_tlabs) {
465 CollectedHeap::ensure_parsability(retire_tlabs);
466 young_gen()->eden_space()->ensure_parsability();
467 }
468
469 size_t ParallelScavengeHeap::tlab_capacity(Thread* thr) const {
470 return young_gen()->eden_space()->tlab_capacity(thr);
471 }
472
473 size_t ParallelScavengeHeap::tlab_used(Thread* thr) const {
474 return young_gen()->eden_space()->tlab_used(thr);
475 }
476
477 size_t ParallelScavengeHeap::unsafe_max_tlab_alloc(Thread* thr) const {
478 return young_gen()->eden_space()->unsafe_max_tlab_alloc(thr);
479 }
480
481 HeapWord* ParallelScavengeHeap::allocate_new_tlab(size_t minimal_size, size_t size, size_t* actual_size) {
482 *actual_size = size;
483 return young_gen()->allocate(size);
484 }
485
486 void ParallelScavengeHeap::accumulate_statistics_all_tlabs() {
487 CollectedHeap::accumulate_statistics_all_tlabs();
488 }
489
490 void ParallelScavengeHeap::resize_all_tlabs() {
491 CollectedHeap::resize_all_tlabs();
492 }
493
494 // This method is used by System.gc() and JVMTI.
495 void ParallelScavengeHeap::collect(GCCause::Cause cause) {
496 assert(!Heap_lock->owned_by_self(),
497 "this thread should not own the Heap_lock");
498
499 uint gc_count = 0;
500 uint full_gc_count = 0;
501 {
502 MutexLocker ml(Heap_lock);
|