equal
deleted
inserted
replaced
182 bool supports_tlab_allocation() const { return true; } |
182 bool supports_tlab_allocation() const { return true; } |
183 |
183 |
184 size_t tlab_capacity(Thread* thr) const; |
184 size_t tlab_capacity(Thread* thr) const; |
185 size_t unsafe_max_tlab_alloc(Thread* thr) const; |
185 size_t unsafe_max_tlab_alloc(Thread* thr) const; |
186 |
186 |
|
187 // Can a compiler initialize a new object without store barriers? |
|
188 // This permission only extends from the creation of a new object |
|
189 // via a TLAB up to the first subsequent safepoint. |
|
190 virtual bool can_elide_tlab_store_barriers() const { |
|
191 return true; |
|
192 } |
|
193 |
|
194 // Can a compiler elide a store barrier when it writes |
|
195 // a permanent oop into the heap? Applies when the compiler |
|
196 // is storing x to the heap, where x->is_perm() is true. |
|
197 virtual bool can_elide_permanent_oop_store_barriers() const { |
|
198 return true; |
|
199 } |
|
200 |
187 void oop_iterate(OopClosure* cl); |
201 void oop_iterate(OopClosure* cl); |
188 void object_iterate(ObjectClosure* cl); |
202 void object_iterate(ObjectClosure* cl); |
189 void permanent_oop_iterate(OopClosure* cl); |
203 void permanent_oop_iterate(OopClosure* cl); |
190 void permanent_object_iterate(ObjectClosure* cl); |
204 void permanent_object_iterate(ObjectClosure* cl); |
191 |
205 |