Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
          +++ new/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
↓ open down ↓ 2211 lines elided ↑ open up ↑
2212 2212    // * Reference discovery is disabled and the discovered
2213 2213    //   references processed etc during remarking.
2214 2214    // * Reference discovery is MT (see below).
2215 2215    // * Reference discovery requires a barrier (see below).
2216 2216    // * Reference processing is currently not MT (see 6608385).
2217 2217    // * A full GC enables (non-MT) reference discovery and
2218 2218    //   processes any discovered references.
2219 2219  
2220 2220    SharedHeap::ref_processing_init();
2221 2221    MemRegion mr = reserved_region();
2222      -  _ref_processor = ReferenceProcessor::create_ref_processor(
2223      -                                         mr,    // span
2224      -                                         false, // Reference discovery is not atomic
2225      -                                         true,  // mt_discovery
2226      -                                         &_is_alive_closure, // is alive closure
2227      -                                                             // for efficiency
2228      -                                         ParallelGCThreads,
2229      -                                         ParallelRefProcEnabled,
2230      -                                         true); // Setting next fields of discovered
2231      -                                                // lists requires a barrier.
     2222 +  _ref_processor =
     2223 +    new ReferenceProcessor(mr,    // span
     2224 +                           ParallelRefProcEnabled,    // mt processing
     2225 +                           ParallelGCThreads,         // degree of mt processing
     2226 +                           true,                      // mt discovery
     2227 +                           ConcGCThreads,             // degree of mt discovery
     2228 +                           false,                     // Reference discovery is not atomic
     2229 +                           &_is_alive_closure,        // is alive closure for efficiency
     2230 +                           true);                     // Setting next fields of discovered
     2231 +                                                      // lists requires a barrier.
2232 2232  }
2233 2233  
2234 2234  size_t G1CollectedHeap::capacity() const {
2235 2235    return _g1_committed.byte_size();
2236 2236  }
2237 2237  
2238 2238  void G1CollectedHeap::iterate_dirty_card_closure(CardTableEntryClosure* cl,
2239 2239                                                   DirtyCardQueue* into_cset_dcq,
2240 2240                                                   bool concurrent,
2241 2241                                                   int worker_i) {
↓ open down ↓ 3337 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX