src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp

changeset 2651
92da084fefc9
parent 2380
74ee0db180fa
child 2661
b099aaf51bf8
     1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp	Wed Mar 16 10:37:08 2011 -0700
     1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp	Thu Mar 17 10:32:46 2011 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -796,13 +796,15 @@
    1.11  
    1.12    // Initialize ref handling object for scavenging.
    1.13    MemRegion mr = young_gen->reserved();
    1.14 -  _ref_processor = ReferenceProcessor::create_ref_processor(
    1.15 -    mr,                         // span
    1.16 -    true,                       // atomic_discovery
    1.17 -    true,                       // mt_discovery
    1.18 -    NULL,                       // is_alive_non_header
    1.19 -    ParallelGCThreads,
    1.20 -    ParallelRefProcEnabled);
    1.21 +  _ref_processor =
    1.22 +    new ReferenceProcessor(mr,                         // span
    1.23 +                           ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing
    1.24 +                           (int) ParallelGCThreads,    // mt processing degree
    1.25 +                           true,                       // mt discovery
    1.26 +                           (int) ParallelGCThreads,    // mt discovery degree
    1.27 +                           true,                       // atomic_discovery
    1.28 +                           NULL,                       // header provides liveness info
    1.29 +                           false);                     // next field updates do not need write barrier
    1.30  
    1.31    // Cache the cardtable
    1.32    BarrierSet* bs = Universe::heap()->barrier_set();

mercurial