hotspot/src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp
changeset 7397 5b173b4ca846
parent 5547 f4b087cbb361
child 22547 4671971bad6b
equal deleted inserted replaced
7396:518b01b064ff 7397:5b173b4ca846
     1 /*
     1 /*
     2  * Copyright (c) 2001, 2007, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    21  * questions.
    22  *
    22  *
    23  */
    23  */
       
    24 
       
    25 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_BUFFERINGOOPCLOSURE_HPP
       
    26 #define SHARE_VM_GC_IMPLEMENTATION_G1_BUFFERINGOOPCLOSURE_HPP
       
    27 
       
    28 #include "memory/genOopClosures.hpp"
       
    29 #include "memory/generation.hpp"
       
    30 #include "runtime/os.hpp"
       
    31 #include "utilities/taskqueue.hpp"
    24 
    32 
    25 // A BufferingOops closure tries to separate out the cost of finding roots
    33 // A BufferingOops closure tries to separate out the cost of finding roots
    26 // from the cost of applying closures to them.  It maintains an array of
    34 // from the cost of applying closures to them.  It maintains an array of
    27 // ref-containing locations.  Until the array is full, applying the closure
    35 // ref-containing locations.  Until the array is full, applying the closure
    28 // to an oop* merely records that location in the array.  Since this
    36 // to an oop* merely records that location in the array.  Since this
   199     _oc(oc),
   207     _oc(oc),
   200     _buffer_curr(_buffer), _buffer_top(_buffer + BufferLength),
   208     _buffer_curr(_buffer), _buffer_top(_buffer + BufferLength),
   201     _hr_curr(_hr_buffer),
   209     _hr_curr(_hr_buffer),
   202     _closure_app_seconds(0.0) { }
   210     _closure_app_seconds(0.0) { }
   203 };
   211 };
       
   212 
       
   213 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_BUFFERINGOOPCLOSURE_HPP