< prev index next >

src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp

Print this page

        

*** 76,85 **** --- 76,95 ---- size_t _process_cards_threshold; volatile bool _process_completed_buffers; void abandon_completed_buffers(); + // Refine the cards in "node" from its index to buffer_size. + // Stops processing if SuspendibleThreadSet::should_yield() is true. + // Returns true if the entire buffer was processed, false if there + // is a pending yield request. The node's index is updated to exclude + // the processed elements, e.g. up to the element before processing + // stopped, or one past the last element if the entire buffer was + // processed. Increments *total_refined_cards by the number of cards + // processed and removed from the buffer. + bool refine_buffer(BufferNode* node, uint worker_id, size_t* total_refined_cards); + bool mut_process_buffer(BufferNode* node); // If the queue contains more cards than configured here, the // mutator must start doing some of the concurrent refinement work. size_t _max_cards;
< prev index next >