386 private:
387 void process_roots(StrongRootsScope* scope,
388 ScanningOption so,
389 OopClosure* strong_roots,
390 OopClosure* weak_roots,
391 CLDClosure* strong_cld_closure,
392 CLDClosure* weak_cld_closure,
393 CodeBlobToOopClosure* code_roots);
394
395 public:
396 void young_process_roots(StrongRootsScope* scope,
397 OopsInGenClosure* root_closure,
398 OopsInGenClosure* old_gen_closure,
399 CLDClosure* cld_closure);
400
401 // If "young_gen_as_roots" is false, younger generations are
402 // not scanned as roots; in this case, the caller must be arranging to
403 // scan the younger generations itself. (For example, a generation might
404 // explicitly mark reachable objects in younger generations, to avoid
405 // excess storage retention.)
406 void conc_process_roots(StrongRootsScope* scope,
407 bool young_gen_as_roots,
408 ScanningOption so,
409 bool only_strong_roots,
410 OopsInGenClosure* root_closure,
411 CLDClosure* cld_closure);
412
413 void full_process_roots(StrongRootsScope* scope,
414 bool only_strong_roots,
415 ScanningOption so,
416 bool is_adjust_phase,
417 OopsInGenClosure* root_closure,
418 CLDClosure* cld_closure);
419
420 // Apply "root_closure" to all the weak roots of the system.
421 // These include JNI weak roots, string table,
422 // and referents of reachable weak refs.
423 void gen_process_weak_roots(OopClosure* root_closure);
424
425 // Set the saved marks of generations, if that makes sense.
426 // In particular, if any generation might iterate over the oops
|
386 private:
387 void process_roots(StrongRootsScope* scope,
388 ScanningOption so,
389 OopClosure* strong_roots,
390 OopClosure* weak_roots,
391 CLDClosure* strong_cld_closure,
392 CLDClosure* weak_cld_closure,
393 CodeBlobToOopClosure* code_roots);
394
395 public:
396 void young_process_roots(StrongRootsScope* scope,
397 OopsInGenClosure* root_closure,
398 OopsInGenClosure* old_gen_closure,
399 CLDClosure* cld_closure);
400
401 // If "young_gen_as_roots" is false, younger generations are
402 // not scanned as roots; in this case, the caller must be arranging to
403 // scan the younger generations itself. (For example, a generation might
404 // explicitly mark reachable objects in younger generations, to avoid
405 // excess storage retention.)
406 void cms_process_roots(StrongRootsScope* scope,
407 bool young_gen_as_roots,
408 ScanningOption so,
409 bool only_strong_roots,
410 OopsInGenClosure* root_closure,
411 CLDClosure* cld_closure);
412
413 void full_process_roots(StrongRootsScope* scope,
414 bool only_strong_roots,
415 ScanningOption so,
416 bool is_adjust_phase,
417 OopsInGenClosure* root_closure,
418 CLDClosure* cld_closure);
419
420 // Apply "root_closure" to all the weak roots of the system.
421 // These include JNI weak roots, string table,
422 // and referents of reachable weak refs.
423 void gen_process_weak_roots(OopClosure* root_closure);
424
425 // Set the saved marks of generations, if that makes sense.
426 // In particular, if any generation might iterate over the oops
|