hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp
changeset 15090 18bfcc1bbe39
parent 14740 1431ef92fed1
child 15489 0f2bd608c4f2
equal deleted inserted replaced
15089:6becb5b6047a 15090:18bfcc1bbe39
     1 /*
     1 /*
     2  * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2001, 2013, 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.
   476   void swapMarkBitMaps();
   476   void swapMarkBitMaps();
   477 
   477 
   478   // It resets the global marking data structures, as well as the
   478   // It resets the global marking data structures, as well as the
   479   // task local ones; should be called during initial mark.
   479   // task local ones; should be called during initial mark.
   480   void reset();
   480   void reset();
   481   // It resets all the marking data structures.
   481 
   482   void clear_marking_state(bool clear_overflow = true);
   482   // Resets all the marking data structures. Called when we have to restart
       
   483   // marking or when marking completes (via set_non_marking_state below).
       
   484   void reset_marking_state(bool clear_overflow = true);
       
   485 
       
   486   // We do this after we're done with marking so that the marking data
       
   487   // structures are initialised to a sensible and predictable state.
       
   488   void set_non_marking_state();
   483 
   489 
   484   // It should be called to indicate which phase we're in (concurrent
   490   // It should be called to indicate which phase we're in (concurrent
   485   // mark or remark) and how many threads are currently active.
   491   // mark or remark) and how many threads are currently active.
   486   void set_phase(uint active_tasks, bool concurrent);
   492   void set_phase(uint active_tasks, bool concurrent);
   487   // We do this after we're done with marking so that the marking data
       
   488   // structures are initialised to a sensible and predictable state.
       
   489   void set_non_marking_state();
       
   490 
   493 
   491   // prints all gathered CM-related statistics
   494   // prints all gathered CM-related statistics
   492   void print_stats();
   495   void print_stats();
   493 
   496 
   494   bool cleanup_list_is_empty() {
   497   bool cleanup_list_is_empty() {