381 // "SO_None" does none;
382 enum ScanningOption {
383 SO_None = 0x0,
384 SO_AllCodeCache = 0x8,
385 SO_ScavengeCodeCache = 0x10
386 };
387
388 private:
389 void process_roots(StrongRootsScope* scope,
390 ScanningOption so,
391 OopClosure* strong_roots,
392 OopClosure* weak_roots,
393 CLDClosure* strong_cld_closure,
394 CLDClosure* weak_cld_closure,
395 CodeBlobClosure* code_roots);
396
397 public:
398 static const bool StrongAndWeakRoots = false;
399 static const bool StrongRootsOnly = true;
400
401 void gen_process_roots(StrongRootsScope* scpe,
402 int level,
403 bool younger_gens_as_roots,
404 ScanningOption so,
405 bool only_strong_roots,
406 OopsInGenClosure* not_older_gens,
407 OopsInGenClosure* older_gens,
408 CLDClosure* cld_closure);
409
410 // Apply "root_closure" to all the weak roots of the system.
411 // These include JNI weak roots, string table,
412 // and referents of reachable weak refs.
413 void gen_process_weak_roots(OopClosure* root_closure);
414
415 // Set the saved marks of generations, if that makes sense.
416 // In particular, if any generation might iterate over the oops
417 // in other generations, it should call this method.
418 void save_marks();
419
420 // Apply "cur->do_oop" or "older->do_oop" to all the oops in objects
421 // allocated since the last call to save_marks in generations at or above
|
381 // "SO_None" does none;
382 enum ScanningOption {
383 SO_None = 0x0,
384 SO_AllCodeCache = 0x8,
385 SO_ScavengeCodeCache = 0x10
386 };
387
388 private:
389 void process_roots(StrongRootsScope* scope,
390 ScanningOption so,
391 OopClosure* strong_roots,
392 OopClosure* weak_roots,
393 CLDClosure* strong_cld_closure,
394 CLDClosure* weak_cld_closure,
395 CodeBlobClosure* code_roots);
396
397 public:
398 static const bool StrongAndWeakRoots = false;
399 static const bool StrongRootsOnly = true;
400
401 void gen_process_roots(StrongRootsScope* scope,
402 int level,
403 bool younger_gens_as_roots,
404 ScanningOption so,
405 bool only_strong_roots,
406 OopsInGenClosure* not_older_gens,
407 OopsInGenClosure* older_gens,
408 CLDClosure* cld_closure);
409
410 // Apply "root_closure" to all the weak roots of the system.
411 // These include JNI weak roots, string table,
412 // and referents of reachable weak refs.
413 void gen_process_weak_roots(OopClosure* root_closure);
414
415 // Set the saved marks of generations, if that makes sense.
416 // In particular, if any generation might iterate over the oops
417 // in other generations, it should call this method.
418 void save_marks();
419
420 // Apply "cur->do_oop" or "older->do_oop" to all the oops in objects
421 // allocated since the last call to save_marks in generations at or above
|