202 uint oop_extra_words() /* override */;
203 size_t tlab_used(Thread* ignored) const /* override */;
204 void stop() /* override */;
205
206 bool needs_reference_pending_list_locker_thread() const /* override */;
207
208 #ifndef CC_INTERP
209 void compile_prepare_oop(MacroAssembler* masm, Register obj) /* override */;
210 #endif
211
212 void register_nmethod(nmethod* nm);
213 void unregister_nmethod(nmethod* nm);
214
215 void enter_critical(oop o);
216 void exit_critical(oop o);
217
218 static ShenandoahHeap* heap();
219 static ShenandoahHeap* heap_no_check();
220 static size_t conservative_max_heap_alignment();
221 static address in_cset_fast_test_addr();
222
223 static void pretouch_storage(char* start, char* end, WorkGang* workers);
224
225 ShenandoahCollectorPolicy *shenandoahPolicy() { return _shenandoah_policy;}
226
227 inline ShenandoahHeapRegion* heap_region_containing(const void* addr) const;
228 inline uint heap_region_index_containing(const void* addr) const;
229 inline bool requires_marking(const void* entry) const;
230 template <class T>
231 inline oop maybe_update_oop_ref(T* p);
232
233 void recycle_dirty_regions();
234
235 void start_concurrent_marking();
236 void stop_concurrent_marking();
237 inline bool concurrent_mark_in_progress();
238 static address concurrent_mark_in_progress_addr();
239
240 void prepare_for_concurrent_evacuation();
241 void evacuate_and_update_roots();
|
202 uint oop_extra_words() /* override */;
203 size_t tlab_used(Thread* ignored) const /* override */;
204 void stop() /* override */;
205
206 bool needs_reference_pending_list_locker_thread() const /* override */;
207
208 #ifndef CC_INTERP
209 void compile_prepare_oop(MacroAssembler* masm, Register obj) /* override */;
210 #endif
211
212 void register_nmethod(nmethod* nm);
213 void unregister_nmethod(nmethod* nm);
214
215 void enter_critical(oop o);
216 void exit_critical(oop o);
217
218 static ShenandoahHeap* heap();
219 static ShenandoahHeap* heap_no_check();
220 static size_t conservative_max_heap_alignment();
221 static address in_cset_fast_test_addr();
222 static address cancelled_concgc_addr();
223
224 static void pretouch_storage(char* start, char* end, WorkGang* workers);
225
226 ShenandoahCollectorPolicy *shenandoahPolicy() { return _shenandoah_policy;}
227
228 inline ShenandoahHeapRegion* heap_region_containing(const void* addr) const;
229 inline uint heap_region_index_containing(const void* addr) const;
230 inline bool requires_marking(const void* entry) const;
231 template <class T>
232 inline oop maybe_update_oop_ref(T* p);
233
234 void recycle_dirty_regions();
235
236 void start_concurrent_marking();
237 void stop_concurrent_marking();
238 inline bool concurrent_mark_in_progress();
239 static address concurrent_mark_in_progress_addr();
240
241 void prepare_for_concurrent_evacuation();
242 void evacuate_and_update_roots();
|