src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp

changeset 1462
39b01ab7035a
parent 1424
148e5441d916
child 1601
7b0e9cba0307
     1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp	Wed Oct 07 19:01:55 2009 -0400
     1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp	Fri Oct 16 02:05:46 2009 -0700
     1.3 @@ -314,41 +314,6 @@
     1.4    return false;
     1.5  }
     1.6  
     1.7 -// Static method
     1.8 -bool ParallelScavengeHeap::is_in_young(oop* p) {
     1.9 -  ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
    1.10 -  assert(heap->kind() == CollectedHeap::ParallelScavengeHeap,
    1.11 -                                            "Must be ParallelScavengeHeap");
    1.12 -
    1.13 -  PSYoungGen* young_gen = heap->young_gen();
    1.14 -
    1.15 -  if (young_gen->is_in_reserved(p)) {
    1.16 -    return true;
    1.17 -  }
    1.18 -
    1.19 -  return false;
    1.20 -}
    1.21 -
    1.22 -// Static method
    1.23 -bool ParallelScavengeHeap::is_in_old_or_perm(oop* p) {
    1.24 -  ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
    1.25 -  assert(heap->kind() == CollectedHeap::ParallelScavengeHeap,
    1.26 -                                            "Must be ParallelScavengeHeap");
    1.27 -
    1.28 -  PSOldGen* old_gen = heap->old_gen();
    1.29 -  PSPermGen* perm_gen = heap->perm_gen();
    1.30 -
    1.31 -  if (old_gen->is_in_reserved(p)) {
    1.32 -    return true;
    1.33 -  }
    1.34 -
    1.35 -  if (perm_gen->is_in_reserved(p)) {
    1.36 -    return true;
    1.37 -  }
    1.38 -
    1.39 -  return false;
    1.40 -}
    1.41 -
    1.42  // There are two levels of allocation policy here.
    1.43  //
    1.44  // When an allocation request fails, the requesting thread must invoke a VM
    1.45 @@ -764,6 +729,13 @@
    1.46    CollectedHeap::resize_all_tlabs();
    1.47  }
    1.48  
    1.49 +bool ParallelScavengeHeap::can_elide_initializing_store_barrier(oop new_obj) {
    1.50 +  // We don't need barriers for stores to objects in the
    1.51 +  // young gen and, a fortiori, for initializing stores to
    1.52 +  // objects therein.
    1.53 +  return is_in_young(new_obj);
    1.54 +}
    1.55 +
    1.56  // This method is used by System.gc() and JVMTI.
    1.57  void ParallelScavengeHeap::collect(GCCause::Cause cause) {
    1.58    assert(!Heap_lock->owned_by_self(),

mercurial