comparison src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp @ 3377:2aa9ddbb9e60

7041789: 30% perf regression with c2/arm following 7017732 Summary: Implement a more accurate is_scavengable() Reviewed-by: stefank, jcoomes, ysr
author jmasa
date Tue, 03 May 2011 10:30:34 -0700
parents f95d63e2154a
children 23c0eb012d6f
comparison
equal deleted inserted replaced
3373:688202ef6306 3377:2aa9ddbb9e60
49 PSMarkSweep::invoke(maximum_compaction); 49 PSMarkSweep::invoke(maximum_compaction);
50 } 50 }
51 } 51 }
52 52
53 inline bool ParallelScavengeHeap::is_in_young(oop p) { 53 inline bool ParallelScavengeHeap::is_in_young(oop p) {
54 return young_gen()->is_in_reserved(p); 54 // Assumes the the old gen address range is lower than that of the young gen.
55 const void* loc = (void*) p;
56 bool result = ((HeapWord*)p) >= young_gen()->reserved().start();
57 assert(result == young_gen()->is_in_reserved(p),
58 err_msg("incorrect test - result=%d, p=" PTR_FORMAT, result, (void*)p));
59 return result;
55 } 60 }
56 61
57 inline bool ParallelScavengeHeap::is_in_old_or_perm(oop p) { 62 inline bool ParallelScavengeHeap::is_in_old_or_perm(oop p) {
58 return old_gen()->is_in_reserved(p) || perm_gen()->is_in_reserved(p); 63 return old_gen()->is_in_reserved(p) || perm_gen()->is_in_reserved(p);
59 } 64 }