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. |
669 |
669 |
670 GenRemSet::Name rem_set_name() { return GenRemSet::CardTable; } |
670 GenRemSet::Name rem_set_name() { return GenRemSet::CardTable; } |
671 |
671 |
672 bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0); |
672 bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0); |
673 |
673 |
674 // Update the heuristic info to record a collection pause of the given |
674 // Record the start and end of an evacuation pause. |
675 // start time, where the given number of bytes were used at the start. |
675 void record_collection_pause_start(double start_time_sec); |
676 // This may involve changing the desired size of a collection set. |
676 void record_collection_pause_end(double pause_time_ms); |
677 |
677 |
678 void record_stop_world_start(); |
678 // Record the start and end of a full collection. |
679 |
679 void record_full_collection_start(); |
680 void record_collection_pause_start(double start_time_sec, size_t start_used); |
680 void record_full_collection_end(); |
681 |
681 |
682 // Must currently be called while the world is stopped. |
682 // Must currently be called while the world is stopped. |
683 void record_concurrent_mark_init_end(double |
683 void record_concurrent_mark_init_end(double mark_init_elapsed_time_ms); |
684 mark_init_elapsed_time_ms); |
684 |
685 |
685 // Record start and end of remark. |
686 void record_concurrent_mark_remark_start(); |
686 void record_concurrent_mark_remark_start(); |
687 void record_concurrent_mark_remark_end(); |
687 void record_concurrent_mark_remark_end(); |
688 |
688 |
|
689 // Record start, end, and completion of cleanup. |
689 void record_concurrent_mark_cleanup_start(); |
690 void record_concurrent_mark_cleanup_start(); |
690 void record_concurrent_mark_cleanup_end(int no_of_gc_threads); |
691 void record_concurrent_mark_cleanup_end(int no_of_gc_threads); |
691 void record_concurrent_mark_cleanup_completed(); |
692 void record_concurrent_mark_cleanup_completed(); |
692 |
693 |
693 void record_concurrent_pause(); |
694 // Records the information about the heap size for reporting in |
694 |
695 // print_detailed_heap_transition |
695 void record_collection_pause_end(double pause_time); |
696 void record_heap_size_info_at_start(); |
|
697 |
|
698 // Print heap sizing transition (with less and more detail). |
696 void print_heap_transition(); |
699 void print_heap_transition(); |
697 void print_detailed_heap_transition(); |
700 void print_detailed_heap_transition(); |
698 |
701 |
699 // Record the fact that a full collection occurred. |
702 void record_stop_world_start(); |
700 void record_full_collection_start(); |
703 void record_concurrent_pause(); |
701 void record_full_collection_end(); |
|
702 |
704 |
703 // Record how much space we copied during a GC. This is typically |
705 // Record how much space we copied during a GC. This is typically |
704 // called when a GC alloc region is being retired. |
706 // called when a GC alloc region is being retired. |
705 void record_bytes_copied_during_gc(size_t bytes) { |
707 void record_bytes_copied_during_gc(size_t bytes) { |
706 _bytes_copied_during_gc += bytes; |
708 _bytes_copied_during_gc += bytes; |