Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp @ 10098:71013d764f6e
8010780: G1: Eden occupancy/capacity output wrong after a full GC
Summary: Move the calculation and recording of eden capacity to the start of a GC and print a detailed heap transition for full GCs.
Reviewed-by: tschatzl, jmasa
author | johnc |
---|---|
date | Wed, 10 Apr 2013 10:57:34 -0700 |
parents | 27714220e50e |
children | 48391ab0687e |
comparison
equal
deleted
inserted
replaced
9075:ba42fd5e00e6 | 10098:71013d764f6e |
---|---|
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; |