src/share/vm/memory/sharedHeap.cpp

Print this page
rev 5892 : imported patch moveStringsProcessing


 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) {