hotspot/src/share/vm/memory/genMarkSweep.cpp
changeset 1610 5dddd195cc86
parent 1606 dcf9714addbe
child 3696 9e5d9b5e1049
child 3908 24b55ad4c228
equal deleted inserted replaced
1608:0a375b5fb8e1 1610:5dddd195cc86
    31 
    31 
    32   // hook up weak ref data so it can be used during Mark-Sweep
    32   // hook up weak ref data so it can be used during Mark-Sweep
    33   assert(ref_processor() == NULL, "no stomping");
    33   assert(ref_processor() == NULL, "no stomping");
    34   assert(rp != NULL, "should be non-NULL");
    34   assert(rp != NULL, "should be non-NULL");
    35   _ref_processor = rp;
    35   _ref_processor = rp;
    36   rp->snap_policy(clear_all_softrefs);
    36   rp->setup_policy(clear_all_softrefs);
    37 
    37 
    38   TraceTime t1("Full GC", PrintGC && !PrintGCDetails, true, gclog_or_tty);
    38   TraceTime t1("Full GC", PrintGC && !PrintGCDetails, true, gclog_or_tty);
    39 
    39 
    40   // When collecting the permanent generation methodOops may be moving,
    40   // When collecting the permanent generation methodOops may be moving,
    41   // so we either have to flush all bcp data or convert it into bci.
    41   // so we either have to flush all bcp data or convert it into bci.
   244                                 SharedHeap::SO_SystemClasses,
   244                                 SharedHeap::SO_SystemClasses,
   245                                 &follow_root_closure, &follow_root_closure);
   245                                 &follow_root_closure, &follow_root_closure);
   246 
   246 
   247   // Process reference objects found during marking
   247   // Process reference objects found during marking
   248   {
   248   {
   249     ref_processor()->snap_policy(clear_all_softrefs);
   249     ref_processor()->setup_policy(clear_all_softrefs);
   250     ref_processor()->process_discovered_references(
   250     ref_processor()->process_discovered_references(
   251       &is_alive, &keep_alive, &follow_stack_closure, NULL);
   251       &is_alive, &keep_alive, &follow_stack_closure, NULL);
   252   }
   252   }
   253 
   253 
   254   // Follow system dictionary roots and unload classes
   254   // Follow system dictionary roots and unload classes