src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp
author stefank
Tue, 26 Nov 2019 10:47:46 +0100
changeset 59290 97d13893ec3c
parent 58711 765ecbffe88a
permissions -rw-r--r--
8234748: Clean up atomic and orderAccess includes Reviewed-by: dholmes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     1
/*
53276
72fdf46a274e 8215549: Shenandoah deduplication cleans up table/queue twice
zgu
parents: 53244
diff changeset
     2
 * Copyright (c) 2017, 2019, Red Hat, Inc. All rights reserved.
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     3
 *
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     4
 * This code is free software; you can redistribute it and/or modify it
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     5
 * under the terms of the GNU General Public License version 2 only, as
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     6
 * published by the Free Software Foundation.
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     7
 *
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     8
 * This code is distributed in the hope that it will be useful, but WITHOUT
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
     9
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    10
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    11
 * version 2 for more details (a copy is included in the LICENSE file that
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    12
 * accompanied this code).
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    13
 *
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License version
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    15
 * 2 along with this work; if not, write to the Free Software Foundation,
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    16
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    17
 *
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    18
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    19
 * or visit www.oracle.com if you need additional information or have any
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    20
 * questions.
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    21
 *
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    22
 */
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    23
53244
9807daeb47c4 8216167: Update include guards to reflect correct directories
coleenp
parents: 52925
diff changeset
    24
#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP
9807daeb47c4 8216167: Update include guards to reflect correct directories
coleenp
parents: 52925
diff changeset
    25
#define SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    26
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    27
#include "gc/shenandoah/shenandoahNumberSeq.hpp"
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    28
#include "gc/shared/workerDataArray.hpp"
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    29
#include "memory/allocation.hpp"
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    30
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    31
class ShenandoahCollectorPolicy;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    32
class ShenandoahWorkerTimings;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    33
class ShenandoahTerminationTimings;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    34
class outputStream;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    35
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    36
#define SHENANDOAH_GC_PHASE_DO(f)                                                       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    37
  f(total_pause_gross,                              "Total Pauses (G)")                 \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    38
  f(total_pause,                                    "Total Pauses (N)")                 \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    39
  f(init_mark_gross,                                "Pause Init Mark (G)")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    40
  f(init_mark,                                      "Pause Init Mark (N)")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    41
  f(make_parsable,                                  "  Make Parsable")                  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    42
  f(clear_liveness,                                 "  Clear Liveness")                 \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    43
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    44
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    45
  f(scan_roots,                                     "  Scan Roots")                     \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    46
  f(scan_thread_roots,                              "    S: Thread Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    47
  f(scan_code_roots,                                "    S: Code Cache Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    48
  f(scan_universe_roots,                            "    S: Universe Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    49
  f(scan_jni_roots,                                 "    S: JNI Roots")                 \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    50
  f(scan_jvmti_weak_roots,                          "    S: JVMTI Weak Roots")          \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    51
  f(scan_jfr_weak_roots,                            "    S: JFR Weak Roots")            \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    52
  f(scan_jni_weak_roots,                            "    S: JNI Weak Roots")            \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    53
  f(scan_stringtable_roots,                         "    S: String Table Roots")        \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
    54
  f(scan_resolved_method_table_roots,               "    S: Resolved Table Roots")      \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
    55
  f(scan_vm_global_roots,                           "    S: VM Global Roots")           \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    56
  f(scan_vm_weak_roots,                             "    S: VM Weak Roots")             \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    57
  f(scan_synchronizer_roots,                        "    S: Synchronizer Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    58
  f(scan_management_roots,                          "    S: Management Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    59
  f(scan_system_dictionary_roots,                   "    S: System Dict Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    60
  f(scan_cldg_roots,                                "    S: CLDG Roots")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    61
  f(scan_jvmti_roots,                               "    S: JVMTI Roots")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    62
  f(scan_string_dedup_table_roots,                  "    S: Dedup Table Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    63
  f(scan_string_dedup_queue_roots,                  "    S: Dedup Queue Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    64
  f(scan_finish_queues,                             "    S: Finish Queues" )            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    65
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    66
  f(resize_tlabs,                                   "  Resize TLABs")                   \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    67
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    68
  f(final_mark_gross,                               "Pause Final Mark (G)")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    69
  f(final_mark,                                     "Pause Final Mark (N)")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    70
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    71
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    72
  f(update_roots,                                   "  Update Roots")                   \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    73
  f(update_thread_roots,                            "    U: Thread Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    74
  f(update_code_roots,                              "    U: Code Cache Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    75
  f(update_universe_roots,                          "    U: Universe Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    76
  f(update_jni_roots,                               "    U: JNI Roots")                 \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    77
  f(update_jvmti_weak_roots,                        "    U: JVMTI Weak Roots")          \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    78
  f(update_jfr_weak_roots,                          "    U: JFR Weak Roots")            \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    79
  f(update_jni_weak_roots,                          "    U: JNI Weak Roots")            \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    80
  f(update_stringtable_roots,                       "    U: String Table Roots")        \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
    81
  f(update_resolved_method_table_roots,             "    U: Resolved Table Roots")      \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
    82
  f(update_vm_global_roots,                         "    U: VM Global Roots")           \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
    83
  f(update_vm_weak_roots,                           "    U: VM Weak Roots")             \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    84
  f(update_synchronizer_roots,                      "    U: Synchronizer Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    85
  f(update_management_roots,                        "    U: Management Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    86
  f(update_system_dictionary_roots,                 "    U: System Dict Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    87
  f(update_cldg_roots,                              "    U: CLDG Roots")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    88
  f(update_jvmti_roots,                             "    U: JVMTI Roots")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    89
  f(update_string_dedup_table_roots,                "    U: Dedup Table Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    90
  f(update_string_dedup_queue_roots,                "    U: Dedup Queue Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    91
  f(update_finish_queues,                           "    U: Finish Queues")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    92
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    93
  f(finish_queues,                                  "  Finish Queues")                  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    94
  f(termination,                                    "    Termination")                  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    95
  f(weakrefs,                                       "  Weak References")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    96
  f(weakrefs_process,                               "    Process")                      \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    97
  f(weakrefs_termination,                           "      Termination")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    98
  f(purge,                                          "  System Purge")                   \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
    99
  f(purge_class_unload,                             "    Unload Classes")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   100
  f(purge_par,                                      "    Parallel Cleanup")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   101
  f(purge_cldg,                                     "    CLDG")                         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   102
  f(complete_liveness,                              "  Complete Liveness")              \
58676
92e7d617897e 8232573: Shenandoah: cleanup and add more logging for in-pause phases
shade
parents: 57669
diff changeset
   103
  f(retire_tlabs,                                   "  Retire TLABs")                   \
58711
765ecbffe88a 8232575: Shenandoah: asynchronous object/region pinning
shade
parents: 58676
diff changeset
   104
  f(sync_pinned,                                    "  Sync Pinned")                    \
58676
92e7d617897e 8232573: Shenandoah: cleanup and add more logging for in-pause phases
shade
parents: 57669
diff changeset
   105
  f(trash_cset,                                     "  Trash CSet")                     \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   106
  f(prepare_evac,                                   "  Prepare Evacuation")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   107
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   108
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   109
  f(init_evac,                                      "  Initial Evacuation")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   110
  f(evac_thread_roots,                              "    E: Thread Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   111
  f(evac_code_roots,                                "    E: Code Cache Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   112
  f(evac_universe_roots,                            "    E: Universe Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   113
  f(evac_jni_roots,                                 "    E: JNI Roots")                 \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   114
  f(evac_jvmti_weak_roots,                          "    E: JVMTI Weak Roots")          \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   115
  f(evac_jfr_weak_roots,                            "    E: JFR Weak Roots")            \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   116
  f(evac_jni_weak_roots,                            "    E: JNI Weak Roots")            \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   117
  f(evac_stringtable_roots,                         "    E: String Table Roots")        \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   118
  f(evac_resolved_method_table_roots,               "    E: Resolved Table Roots")      \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   119
  f(evac_vm_global_roots,                           "    E: VM Global Roots")           \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   120
  f(evac_vm_weak_roots,                             "    E: VM Weak Roots")             \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   121
  f(evac_synchronizer_roots,                        "    E: Synchronizer Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   122
  f(evac_management_roots,                          "    E: Management Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   123
  f(evac_system_dictionary_roots,                   "    E: System Dict Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   124
  f(evac_cldg_roots,                                "    E: CLDG Roots")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   125
  f(evac_jvmti_roots,                               "    E: JVMTI Roots")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   126
  f(evac_string_dedup_table_roots,                  "    E: String Dedup Table Roots")  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   127
  f(evac_string_dedup_queue_roots,                  "    E: String Dedup Queue Roots")  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   128
  f(evac_finish_queues,                             "    E: Finish Queues")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   129
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   130
  f(final_evac_gross,                               "Pause Final Evac (G)")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   131
  f(final_evac,                                     "Pause Final Evac (N)")             \
58676
92e7d617897e 8232573: Shenandoah: cleanup and add more logging for in-pause phases
shade
parents: 57669
diff changeset
   132
  f(final_evac_retire_gclabs,                       "  Retire GCLABs")                  \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   133
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   134
  f(init_update_refs_gross,                         "Pause Init  Update Refs (G)")      \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   135
  f(init_update_refs,                               "Pause Init  Update Refs (N)")      \
58676
92e7d617897e 8232573: Shenandoah: cleanup and add more logging for in-pause phases
shade
parents: 57669
diff changeset
   136
  f(init_update_refs_retire_gclabs,                 "  Retire GCLABs")                  \
92e7d617897e 8232573: Shenandoah: cleanup and add more logging for in-pause phases
shade
parents: 57669
diff changeset
   137
  f(init_update_refs_prepare,                       "  Prepare")                        \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   138
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   139
  f(final_update_refs_gross,                         "Pause Final Update Refs (G)")     \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   140
  f(final_update_refs,                               "Pause Final Update Refs (N)")     \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   141
  f(final_update_refs_finish_work,                   "  Finish Work")                   \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   142
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   143
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   144
  f(final_update_refs_roots,                         "  Update Roots")                  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   145
  f(final_update_refs_thread_roots,                  "    UR: Thread Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   146
  f(final_update_refs_code_roots,                    "    UR: Code Cache Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   147
  f(final_update_refs_universe_roots,                "    UR: Universe Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   148
  f(final_update_refs_jni_roots,                     "    UR: JNI Roots")               \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   149
  f(final_update_jvmti_weak_roots,                   "    UR: JVMTI Weak Roots")        \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   150
  f(final_update_jfr_weak_roots,                     "    UR: JFR Weak Roots")          \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   151
  f(final_update_jni_weak_roots,                     "    UR: JNI Weak Roots")          \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   152
  f(final_update_stringtable_roots,                  "    UR: String Table Roots")      \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   153
  f(final_update_resolved_method_table_roots,        "    UR: Resolved Table Roots")    \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   154
  f(final_update_vm_global_roots,                    "    UR: VM Global Roots")         \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   155
  f(final_update_vm_weak_roots,                      "    UR: VM Weak Roots")           \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   156
  f(final_update_refs_synchronizer_roots,            "    UR: Synchronizer Roots")      \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   157
  f(final_update_refs_management_roots,              "    UR: Management Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   158
  f(final_update_refs_system_dict_roots,             "    UR: System Dict Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   159
  f(final_update_refs_cldg_roots,                    "    UR: CLDG Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   160
  f(final_update_refs_jvmti_roots,                   "    UR: JVMTI Roots")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   161
  f(final_update_refs_string_dedup_table_roots,      "    UR: Dedup Table Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   162
  f(final_update_refs_string_dedup_queue_roots,      "    UR: Dedup Queue Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   163
  f(final_update_refs_finish_queues,                 "    UR: Finish Queues")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   164
                                                                                        \
58711
765ecbffe88a 8232575: Shenandoah: asynchronous object/region pinning
shade
parents: 58676
diff changeset
   165
  f(final_update_refs_sync_pinned,                   "  Sync Pinned")                   \
58676
92e7d617897e 8232573: Shenandoah: cleanup and add more logging for in-pause phases
shade
parents: 57669
diff changeset
   166
  f(final_update_refs_trash_cset,                    "  Trash CSet")                    \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   167
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   168
  f(degen_gc_gross,                                  "Pause Degenerated GC (G)")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   169
  f(degen_gc,                                        "Pause Degenerated GC (N)")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   170
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   171
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   172
  f(degen_gc_update_roots,                           "  Degen Update Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   173
  f(degen_gc_update_thread_roots,                    "    DU: Thread Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   174
  f(degen_gc_update_code_roots,                      "    DU: Code Cache Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   175
  f(degen_gc_update_universe_roots,                  "    DU: Universe Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   176
  f(degen_gc_update_jni_roots,                       "    DU: JNI Roots")               \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   177
  f(degen_gc_update_jvmti_weak_roots,                "    DU: JVMTI Weak Roots")        \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   178
  f(degen_gc_update_jfr_weak_roots,                  "    DU: JFR Weak Roots")          \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   179
  f(degen_gc_update_jni_weak_roots,                  "    DU: JNI Weak Roots")          \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   180
  f(degen_gc_update_stringtable_roots,               "    DU: String Table Roots")      \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   181
  f(degen_gc_update_resolved_method_table_roots,     "    DU: Resolved Table Roots")    \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   182
  f(degen_gc_update_vm_global_roots,                 "    DU: VM Global Roots")         \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   183
  f(degen_gc_update_vm_weak_roots,                   "    DU: VM Weak Roots")           \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   184
  f(degen_gc_update_synchronizer_roots,              "    DU: Synchronizer Roots")      \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   185
  f(degen_gc_update_management_roots,                "    DU: Management Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   186
  f(degen_gc_update_system_dict_roots,               "    DU: System Dict Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   187
  f(degen_gc_update_cldg_roots,                      "    DU: CLDG Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   188
  f(degen_gc_update_jvmti_roots,                     "    DU: JVMTI Roots")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   189
  f(degen_gc_update_string_dedup_table_roots,        "    DU: Dedup Table Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   190
  f(degen_gc_update_string_dedup_queue_roots,        "    DU: Dedup Queue Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   191
  f(degen_gc_update_finish_queues,                   "    DU: Finish Queues")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   192
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   193
  f(init_traversal_gc_gross,                         "Pause Init Traversal (G)")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   194
  f(init_traversal_gc,                               "Pause Init Traversal (N)")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   195
  f(traversal_gc_prepare,                            "  Prepare")                       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   196
  f(traversal_gc_make_parsable,                      "    Make Parsable")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   197
  f(traversal_gc_resize_tlabs,                       "    Resize TLABs")                \
58711
765ecbffe88a 8232575: Shenandoah: asynchronous object/region pinning
shade
parents: 58676
diff changeset
   198
  f(traversal_gc_prepare_sync_pinned,                "    Sync Pinned")                 \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   199
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   200
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   201
  f(init_traversal_gc_work,                          "  Work")                          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   202
  f(init_traversal_gc_thread_roots,                  "    TI: Thread Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   203
  f(init_traversal_gc_code_roots,                    "    TI: Code Cache Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   204
  f(init_traversal_gc_universe_roots,                "    TI: Universe Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   205
  f(init_traversal_gc_jni_roots,                     "    TI: JNI Roots")               \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   206
  f(init_traversal_gc_jvmti_weak_roots,              "    TI: JVMTI Weak Roots")        \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   207
  f(init_traversal_gc_jfr_weak_roots,                "    TI: JFR Weak Roots")          \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   208
  f(init_traversal_gc_jni_weak_roots,                "    TI: JNI Weak Roots")          \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   209
  f(init_traversal_gc_stringtable_roots,             "    TI: String Table Roots")      \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   210
  f(init_traversal_gc_resolved_method_table_roots,   "    TI: Resolved Table Roots")    \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   211
  f(init_traversal_gc_vm_global_roots,               "    TI: VM Global Roots")         \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   212
  f(init_traversal_gc_vm_weak_roots,                 "    TI: VM Weak Roots")           \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   213
  f(init_traversal_gc_synchronizer_roots,            "    TI: Synchronizer Roots")      \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   214
  f(init_traversal_gc_management_roots,              "    TI: Management Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   215
  f(init_traversal_gc_system_dict_roots,             "    TI: System Dict Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   216
  f(init_traversal_gc_cldg_roots,                    "    TI: CLDG Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   217
  f(init_traversal_gc_jvmti_roots,                   "    TI: JVMTI Roots")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   218
  f(init_traversal_gc_string_dedup_table_roots,      "    TI: Dedup Table Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   219
  f(init_traversal_gc_string_dedup_queue_roots,      "    TI: Dedup Queue Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   220
  f(init_traversal_gc_finish_queues,                 "    TI: Finish Queues")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   221
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   222
  f(final_traversal_gc_gross,                        "Pause Final Traversal (G)")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   223
  f(final_traversal_gc,                              "Pause Final Traversal (N)")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   224
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   225
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   226
  f(final_traversal_gc_work,                         "  Work")                          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   227
  f(final_traversal_gc_thread_roots,                 "    TF: Thread Roots")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   228
  f(final_traversal_gc_code_roots,                   "    TF: Code Cache Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   229
  f(final_traversal_gc_universe_roots,               "    TF: Universe Roots")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   230
  f(final_traversal_gc_jni_roots,                    "    TF: JNI Roots")               \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   231
  f(final_traversal_gc_jvmti_weak_roots,             "    TF: JVMTI Weak Roots")        \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   232
  f(final_traversal_gc_jfr_weak_roots,               "    TF: JFR Weak Roots")          \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   233
  f(final_traversal_gc_jni_weak_roots,               "    TF: JNI Weak Roots")          \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   234
  f(final_traversal_gc_stringtable_roots,            "    TF: String Table Roots")      \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   235
  f(final_traversal_gc_resolved_method_table_roots,  "    TF: Resolved Table Roots")    \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   236
  f(final_traversal_gc_vm_global_roots,              "    TF: VM Global Roots")         \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   237
  f(final_traversal_gc_vm_weak_roots,                "    TF: VM Weak Roots")           \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   238
  f(final_traversal_gc_synchronizer_roots,           "    TF: Synchronizer Roots")      \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   239
  f(final_traversal_gc_management_roots,             "    TF: Management Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   240
  f(final_traversal_gc_system_dict_roots,            "    TF: System Dict Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   241
  f(final_traversal_gc_cldg_roots,                   "    TF: CLDG Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   242
  f(final_traversal_gc_jvmti_roots,                  "    TF: JVMTI Roots")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   243
  f(final_traversal_gc_string_dedup_table_roots,     "    TF: Dedup Table Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   244
  f(final_traversal_gc_string_dedup_queue_roots,     "    TF: Dedup Queue Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   245
  f(final_traversal_gc_finish_queues,                "    TF: Finish Queues")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   246
  f(final_traversal_gc_termination,                  "    TF:   Termination")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   247
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   248
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   249
  f(final_traversal_update_roots,                       "  Update Roots")               \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   250
  f(final_traversal_update_thread_roots,                "    TU: Thread Roots")         \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   251
  f(final_traversal_update_code_roots,                  "    TU: Code Cache Roots")     \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   252
  f(final_traversal_update_universe_roots,              "    TU: Universe Roots")       \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   253
  f(final_traversal_update_jni_roots,                   "    TU: JNI Roots")            \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   254
  f(final_traversal_update_jvmti_weak_roots,            "    TU: JVMTI Weak Roots")     \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   255
  f(final_traversal_update_jfr_weak_roots,              "    TU: JFR Weak Roots")       \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   256
  f(final_traversal_update_jni_weak_roots,              "    TU: JNI Weak Roots")       \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   257
  f(final_traversal_update_stringtable_roots,           "    TU: String Table Roots")   \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   258
  f(final_traversal_update_resolved_method_table_roots, "    TU: Resolved Table Roots") \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   259
  f(final_traversal_update_vm_global_roots,             "    TU: VM Global Roots")      \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   260
  f(final_traversal_update_vm_weak_roots,               "    TU: VM Weak Roots")        \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   261
  f(final_traversal_update_synchronizer_roots,          "    TU: Synchronizer Roots")   \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   262
  f(final_traversal_update_management_roots,            "    TU: Management Roots")     \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   263
  f(final_traversal_update_system_dict_roots,           "    TU: System Dict Roots")    \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   264
  f(final_traversal_update_cldg_roots,                  "    TU: CLDG Roots")           \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   265
  f(final_traversal_update_jvmti_roots,                 "    TU: JVMTI Roots")          \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   266
  f(final_traversal_update_string_dedup_table_roots,    "    TU: Dedup Table Roots")    \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   267
  f(final_traversal_update_string_dedup_queue_roots,    "    TU: Dedup Queue Roots")    \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   268
  f(final_traversal_update_finish_queues,               "    TU: Finish Queues")        \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   269
                                                                                        \
58711
765ecbffe88a 8232575: Shenandoah: asynchronous object/region pinning
shade
parents: 58676
diff changeset
   270
  f(traversal_gc_sync_pinned,                        "  Sync Pinned")                   \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   271
  f(traversal_gc_cleanup,                            "  Cleanup")                       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   272
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   273
  f(full_gc_gross,                                   "Pause Full GC (G)")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   274
  f(full_gc,                                         "Pause Full GC (N)")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   275
  f(full_gc_heapdumps,                               "  Heap Dumps")                    \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   276
  f(full_gc_prepare,                                 "  Prepare")                       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   277
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   278
  /* Per-thread timer block, should have "roots" counters in consistent order */        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   279
  f(full_gc_roots,                                   "  Roots")                         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   280
  f(full_gc_thread_roots,                            "    F: Thread Roots")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   281
  f(full_gc_code_roots,                              "    F: Code Cache Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   282
  f(full_gc_universe_roots,                          "    F: Universe Roots")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   283
  f(full_gc_jni_roots,                               "    F: JNI Roots")                \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   284
  f(full_gc_jvmti_weak_roots,                        "    F: JVMTI Weak Roots")         \
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   285
  f(full_gc_jfr_weak_roots,                          "    F: JFR Weak Roots")           \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   286
  f(full_gc_jni_weak_roots,                          "    F: JNI Weak Roots")           \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   287
  f(full_gc_stringtable_roots,                       "    F: String Table Roots")       \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   288
  f(full_gc_resolved_method_table_roots,             "    F: Resolved Table Roots")     \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   289
  f(full_gc_vm_global_roots,                         "    F: VM Global Roots")          \
54103
8b61a38be0c5 8220546: Shenandoah Reports timing details for weak root processing
zgu
parents: 53574
diff changeset
   290
  f(full_gc_vm_weak_roots,                           "    F: VM Weak Roots")            \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   291
  f(full_gc_synchronizer_roots,                      "    F: Synchronizer Roots")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   292
  f(full_gc_management_roots,                        "    F: Management Roots")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   293
  f(full_gc_system_dictionary_roots,                 "    F: System Dict Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   294
  f(full_gc_cldg_roots,                              "    F: CLDG Roots")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   295
  f(full_gc_jvmti_roots,                             "    F: JVMTI Roots")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   296
  f(full_gc_string_dedup_table_roots,                "    F: Dedup Table Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   297
  f(full_gc_string_dedup_queue_roots,                "    F: Dedup Queue Roots")        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   298
  f(full_gc_finish_queues,                           "    F: Finish Queues")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   299
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   300
  f(full_gc_mark,                                    "  Mark")                          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   301
  f(full_gc_mark_finish_queues,                      "    Finish Queues")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   302
  f(full_gc_mark_termination,                        "      Termination")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   303
  f(full_gc_weakrefs,                                "    Weak References")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   304
  f(full_gc_weakrefs_process,                        "      Process")                   \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   305
  f(full_gc_weakrefs_termination,                    "        Termination")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   306
  f(full_gc_purge,                                   "    System Purge")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   307
  f(full_gc_purge_class_unload,                      "      Unload Classes")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   308
  f(full_gc_purge_par,                               "    Parallel Cleanup")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   309
  f(full_gc_purge_cldg,                              "    CLDG")                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   310
  f(full_gc_calculate_addresses,                     "  Calculate Addresses")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   311
  f(full_gc_calculate_addresses_regular,             "    Regular Objects")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   312
  f(full_gc_calculate_addresses_humong,              "    Humongous Objects")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   313
  f(full_gc_adjust_pointers,                         "  Adjust Pointers")               \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   314
  f(full_gc_copy_objects,                            "  Copy Objects")                  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   315
  f(full_gc_copy_objects_regular,                    "    Regular Objects")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   316
  f(full_gc_copy_objects_humong,                     "    Humongous Objects")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   317
  f(full_gc_copy_objects_reset_complete,             "    Reset Complete Bitmap")       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   318
  f(full_gc_copy_objects_rebuild,                    "    Rebuild Region Sets")         \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   319
  f(full_gc_resize_tlabs,                            "  Resize TLABs")                  \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   320
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   321
  /* Longer concurrent phases at the end */                                             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   322
  f(conc_reset,                                      "Concurrent Reset")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   323
  f(conc_mark,                                       "Concurrent Marking")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   324
  f(conc_termination,                                "  Termination")                   \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   325
  f(conc_preclean,                                   "Concurrent Precleaning")          \
55428
e9da3a44a7ed 8225582: Shenandoah: Enable concurrent evacuation of JNIHandles
zgu
parents: 54515
diff changeset
   326
  f(conc_roots,                                      "Concurrent Roots")                \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   327
  f(conc_evac,                                       "Concurrent Evacuation")           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   328
  f(conc_update_refs,                                "Concurrent Update Refs")          \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   329
  f(conc_cleanup,                                    "Concurrent Cleanup")              \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   330
  f(conc_traversal,                                  "Concurrent Traversal")            \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   331
  f(conc_traversal_termination,                      "  Termination")                   \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   332
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   333
  f(conc_uncommit,                                   "Concurrent Uncommit")             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   334
                                                                                        \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   335
  /* Unclassified */                                                                    \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   336
  f(pause_other,                                     "Pause Other")                     \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   337
  f(conc_other,                                      "Concurrent Other")                \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   338
  // end
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   339
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   340
#define SHENANDOAH_GC_PAR_PHASE_DO(f)                           \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   341
  f(ThreadRoots,              "Thread Roots (ms):")              \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   342
  f(CodeCacheRoots,           "CodeCache Roots (ms):")           \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   343
  f(UniverseRoots,            "Universe Roots (ms):")            \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   344
  f(JNIRoots,                 "JNI Handles Roots (ms):")         \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   345
  f(JVMTIWeakRoots,           "JVMTI Weak Roots (ms):")          \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   346
  f(JFRWeakRoots,             "JFR Weak Roots (ms):")            \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   347
  f(JNIWeakRoots,             "JNI Weak Roots (ms):")            \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   348
  f(StringTableRoots,         "StringTable Roots(ms):")          \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   349
  f(ResolvedMethodTableRoots, "Resolved Table Roots(ms):")       \
57669
18f189e69b29 8229213: Shenandoah: Allow VM global oop storage to be processed concurrently
zgu
parents: 55428
diff changeset
   350
  f(VMGlobalRoots,            "VM Global Roots(ms)")             \
54515
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   351
  f(VMWeakRoots,              "VM Weak Roots(ms)")               \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   352
  f(ObjectSynchronizerRoots,  "ObjectSynchronizer Roots (ms):")  \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   353
  f(ManagementRoots,          "Management Roots (ms):")          \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   354
  f(SystemDictionaryRoots,    "SystemDictionary Roots (ms):")    \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   355
  f(CLDGRoots,                "CLDG Roots (ms):")                \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   356
  f(JVMTIRoots,               "JVMTI Roots (ms):")               \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   357
  f(StringDedupTableRoots,    "String Dedup Table Roots (ms):")  \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   358
  f(StringDedupQueueRoots,    "String Dedup Queue Roots (ms):")  \
138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases)
shade
parents: 54103
diff changeset
   359
  f(FinishQueues,             "Finish Queues (ms):")             \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   360
  // end
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   361
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   362
class ShenandoahPhaseTimings : public CHeapObj<mtGC> {
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   363
public:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   364
#define GC_PHASE_DECLARE_ENUM(type, title)   type,
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   365
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   366
  enum Phase {
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   367
    SHENANDOAH_GC_PHASE_DO(GC_PHASE_DECLARE_ENUM)
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   368
    _num_phases
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   369
  };
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   370
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   371
  // These are the subphases of GC phases (scan_roots, update_roots,
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   372
  // init_evac, final_update_refs_roots and full_gc_roots).
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   373
  // Make sure they are following this order.
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   374
  enum GCParPhases {
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   375
    SHENANDOAH_GC_PAR_PHASE_DO(GC_PHASE_DECLARE_ENUM)
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   376
    GCParPhasesSentinel
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   377
  };
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   378
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   379
#undef GC_PHASE_DECLARE_ENUM
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   380
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   381
private:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   382
  struct TimingData {
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   383
    HdrSeq _secs;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   384
    double _start;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   385
  };
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   386
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   387
private:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   388
  TimingData          _timing_data[_num_phases];
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   389
  static const char*  _phase_names[_num_phases];
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   390
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   391
  ShenandoahWorkerTimings*      _worker_times;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   392
  ShenandoahTerminationTimings* _termination_times;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   393
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   394
  ShenandoahCollectorPolicy* _policy;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   395
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   396
public:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   397
  ShenandoahPhaseTimings();
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   398
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   399
  ShenandoahWorkerTimings* const worker_times() const { return _worker_times; }
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   400
  ShenandoahTerminationTimings* const termination_times() const { return _termination_times; }
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   401
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   402
  // record phase start
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   403
  void record_phase_start(Phase phase);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   404
  // record phase end and return elapsed time in seconds for the phase
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   405
  void record_phase_end(Phase phase);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   406
  // record an elapsed time for the phase
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   407
  void record_phase_time(Phase phase, double time);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   408
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   409
  void record_workers_start(Phase phase);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   410
  void record_workers_end(Phase phase);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   411
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   412
  static const char* phase_name(Phase phase) {
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   413
    assert(phase >= 0 && phase < _num_phases, "Out of bound");
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   414
    return _phase_names[phase];
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   415
  }
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   416
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   417
  void print_on(outputStream* out) const;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   418
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   419
private:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   420
  void init_phase_names();
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   421
  void print_summary_sd(outputStream* out, const char* str, const HdrSeq* seq) const;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   422
};
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   423
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   424
class ShenandoahWorkerTimings : public CHeapObj<mtGC> {
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   425
private:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   426
  uint _max_gc_threads;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   427
  WorkerDataArray<double>* _gc_par_phases[ShenandoahPhaseTimings::GCParPhasesSentinel];
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   428
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   429
public:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   430
  ShenandoahWorkerTimings(uint max_gc_threads);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   431
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   432
  // record the time a phase took in seconds
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   433
  void record_time_secs(ShenandoahPhaseTimings::GCParPhases phase, uint worker_i, double secs);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   434
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   435
  double average(uint i) const;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   436
  void reset(uint i);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   437
  void print() const;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   438
};
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   439
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   440
class ShenandoahTerminationTimings : public CHeapObj<mtGC> {
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   441
private:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   442
  WorkerDataArray<double>* _gc_termination_phase;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   443
public:
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   444
  ShenandoahTerminationTimings(uint max_gc_threads);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   445
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   446
  // record the time a phase took in seconds
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   447
  void record_time_secs(uint worker_i, double secs);
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   448
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   449
  double average() const;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   450
  void reset();
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   451
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   452
  void print() const;
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   453
};
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents:
diff changeset
   454
53244
9807daeb47c4 8216167: Update include guards to reflect correct directories
coleenp
parents: 52925
diff changeset
   455
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP