Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.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 | 6747fd0512e0 |
comparison
equal
deleted
inserted
replaced
3373:688202ef6306 | 3377:2aa9ddbb9e60 |
---|---|
125 // Return "true" if all generations (but perm) have reached the | 125 // Return "true" if all generations (but perm) have reached the |
126 // maximal committed limit that they can reach, without a garbage | 126 // maximal committed limit that they can reach, without a garbage |
127 // collection. | 127 // collection. |
128 virtual bool is_maximal_no_gc() const; | 128 virtual bool is_maximal_no_gc() const; |
129 | 129 |
130 // Return true if the reference points to an object that | |
131 // can be moved in a partial collection. For currently implemented | |
132 // generational collectors that means during a collection of | |
133 // the young gen. | |
134 virtual bool is_scavengable(const void* addr); | |
135 | |
130 // Does this heap support heap inspection? (+PrintClassHistogram) | 136 // Does this heap support heap inspection? (+PrintClassHistogram) |
131 bool supports_heap_inspection() const { return true; } | 137 bool supports_heap_inspection() const { return true; } |
132 | 138 |
133 size_t permanent_capacity() const; | 139 size_t permanent_capacity() const; |
134 size_t permanent_used() const; | 140 size_t permanent_used() const; |
140 | 146 |
141 bool is_in_reserved(const void* p) const; | 147 bool is_in_reserved(const void* p) const; |
142 bool is_in_permanent(const void *p) const { // reserved part | 148 bool is_in_permanent(const void *p) const { // reserved part |
143 return perm_gen()->reserved().contains(p); | 149 return perm_gen()->reserved().contains(p); |
144 } | 150 } |
151 | |
152 #ifdef ASSERT | |
153 virtual bool is_in_partial_collection(const void *p); | |
154 #endif | |
145 | 155 |
146 bool is_permanent(const void *p) const { // committed part | 156 bool is_permanent(const void *p) const { // committed part |
147 return perm_gen()->is_in(p); | 157 return perm_gen()->is_in(p); |
148 } | 158 } |
149 | 159 |