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() { |