220 CodeCache::blobs_do(&code_roots);
221 }
222 // Verify that the code cache contents are not subject to
223 // movement by a scavenging collection.
224 DEBUG_ONLY(CodeBlobToOopClosure assert_code_is_non_scavengable(&assert_is_non_scavengable_closure, /*do_marking=*/ false));
225 DEBUG_ONLY(CodeCache::asserted_non_scavengable_nmethods_do(&assert_code_is_non_scavengable));
226 }
227
228 _process_strong_tasks->all_tasks_completed();
229 }
230
231 class AlwaysTrueClosure: public BoolObjectClosure {
232 public:
233 bool do_object_b(oop p) { return true; }
234 };
235 static AlwaysTrueClosure always_true;
236
237 void SharedHeap::process_weak_roots(OopClosure* root_closure) {
238 // Global (weak) JNI handles
239 JNIHandles::weak_oops_do(&always_true, root_closure);
240
241 StringTable::oops_do(root_closure);
242 }
243
244 void SharedHeap::set_barrier_set(BarrierSet* bs) {
245 _barrier_set = bs;
246 // Cached barrier set for fast access in oops
247 oopDesc::set_bs(bs);
248 }
249
250 void SharedHeap::post_initialize() {
251 CollectedHeap::post_initialize();
252 ref_processing_init();
253 }
254
255 void SharedHeap::ref_processing_init() {}
256
257 // Some utilities.
258 void SharedHeap::print_size_transition(outputStream* out,
259 size_t bytes_before,
260 size_t bytes_after,
261 size_t capacity) {
|
220 CodeCache::blobs_do(&code_roots);
221 }
222 // Verify that the code cache contents are not subject to
223 // movement by a scavenging collection.
224 DEBUG_ONLY(CodeBlobToOopClosure assert_code_is_non_scavengable(&assert_is_non_scavengable_closure, /*do_marking=*/ false));
225 DEBUG_ONLY(CodeCache::asserted_non_scavengable_nmethods_do(&assert_code_is_non_scavengable));
226 }
227
228 _process_strong_tasks->all_tasks_completed();
229 }
230
231 class AlwaysTrueClosure: public BoolObjectClosure {
232 public:
233 bool do_object_b(oop p) { return true; }
234 };
235 static AlwaysTrueClosure always_true;
236
237 void SharedHeap::process_weak_roots(OopClosure* root_closure) {
238 // Global (weak) JNI handles
239 JNIHandles::weak_oops_do(&always_true, root_closure);
240 }
241
242 void SharedHeap::set_barrier_set(BarrierSet* bs) {
243 _barrier_set = bs;
244 // Cached barrier set for fast access in oops
245 oopDesc::set_bs(bs);
246 }
247
248 void SharedHeap::post_initialize() {
249 CollectedHeap::post_initialize();
250 ref_processing_init();
251 }
252
253 void SharedHeap::ref_processing_init() {}
254
255 // Some utilities.
256 void SharedHeap::print_size_transition(outputStream* out,
257 size_t bytes_before,
258 size_t bytes_after,
259 size_t capacity) {
|