< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp

Print this page
*** 1,7 ***
--- 1,8 ---
  /*
   * Copyright (c) 2017, 2021, Red Hat, Inc. All rights reserved.
+  * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

*** 42,23 ***
    f(CNT_PREFIX ## CLDGRoots,                DESC_PREFIX "CLDG Roots")                  \
    f(CNT_PREFIX ## CodeCacheUnload,          DESC_PREFIX "Unload Code Caches")          \
    f(CNT_PREFIX ## CLDUnlink,                DESC_PREFIX "Unlink CLDs")                 \
    f(CNT_PREFIX ## WeakRefProc,              DESC_PREFIX "Weak References")             \
    f(CNT_PREFIX ## ParallelMark,             DESC_PREFIX "Parallel Mark")               \
    // end
  
  #define SHENANDOAH_PHASE_DO(f)                                                         \
    f(conc_reset,                                     "Concurrent Reset")                \
!                                                                                        \
    f(init_mark_gross,                                "Pause Init Mark (G)")             \
    f(init_mark,                                      "Pause Init Mark (N)")             \
    f(init_manage_tlabs,                              "  Manage TLABs")                  \
    f(init_update_region_states,                      "  Update Region States")          \
                                                                                         \
    f(conc_mark_roots,                                "Concurrent Mark Roots ")          \
    SHENANDOAH_PAR_PHASE_DO(conc_mark_roots,          "  CMR: ", f)                      \
    f(conc_mark,                                      "Concurrent Marking")              \
    f(conc_mark_satb_flush,                           "  Flush SATB")                    \
                                                                                         \
    f(final_mark_gross,                               "Pause Final Mark (G)")            \
    f(final_mark,                                     "Pause Final Mark (N)")            \
    f(finish_mark,                                    "  Finish Mark")                   \
--- 43,30 ---
    f(CNT_PREFIX ## CLDGRoots,                DESC_PREFIX "CLDG Roots")                  \
    f(CNT_PREFIX ## CodeCacheUnload,          DESC_PREFIX "Unload Code Caches")          \
    f(CNT_PREFIX ## CLDUnlink,                DESC_PREFIX "Unlink CLDs")                 \
    f(CNT_PREFIX ## WeakRefProc,              DESC_PREFIX "Weak References")             \
    f(CNT_PREFIX ## ParallelMark,             DESC_PREFIX "Parallel Mark")               \
+   f(CNT_PREFIX ## ScanClusters,             DESC_PREFIX "Scan Clusters")               \
    // end
  
  #define SHENANDOAH_PHASE_DO(f)                                                         \
    f(conc_reset,                                     "Concurrent Reset")                \
!   f(conc_reset_old,                                 "Concurrent Reset (OLD)")          \
    f(init_mark_gross,                                "Pause Init Mark (G)")             \
    f(init_mark,                                      "Pause Init Mark (N)")             \
    f(init_manage_tlabs,                              "  Manage TLABs")                  \
+   f(init_swap_rset,                                 "  Swap Remembered Set")           \
+   f(init_transfer_satb,                             "  Transfer Old From SATB")        \
    f(init_update_region_states,                      "  Update Region States")          \
                                                                                         \
+   f(init_scan_rset,                                 "Concurrent Scan Remembered Set")  \
+   SHENANDOAH_PAR_PHASE_DO(init_scan_rset_,          "  RS: ", f)                       \
+                                                                                        \
    f(conc_mark_roots,                                "Concurrent Mark Roots ")          \
    SHENANDOAH_PAR_PHASE_DO(conc_mark_roots,          "  CMR: ", f)                      \
    f(conc_mark,                                      "Concurrent Marking")              \
+   SHENANDOAH_PAR_PHASE_DO(conc_mark,                "  CM: ", f)                       \
    f(conc_mark_satb_flush,                           "  Flush SATB")                    \
                                                                                         \
    f(final_mark_gross,                               "Pause Final Mark (G)")            \
    f(final_mark,                                     "Pause Final Mark (N)")            \
    f(finish_mark,                                    "  Finish Mark")                   \

*** 94,11 ***
    f(conc_class_unload_purge_cldg,                   "    CLDG")                        \
    f(conc_class_unload_purge_ec,                     "    Exception Caches")            \
    f(conc_strong_roots,                              "Concurrent Strong Roots")         \
    SHENANDOAH_PAR_PHASE_DO(conc_strong_roots_,       "  CSR: ", f)                      \
    f(conc_evac,                                      "Concurrent Evacuation")           \
!                                                                                        \
    f(final_roots_gross,                              "Pause Final Roots (G)")           \
    f(final_roots,                                    "Pause Final Roots (N)")           \
                                                                                         \
    f(init_update_refs_gross,                         "Pause Init Update Refs (G)")      \
    f(init_update_refs,                               "Pause Init Update Refs (N)")      \
--- 102,11 ---
    f(conc_class_unload_purge_cldg,                   "    CLDG")                        \
    f(conc_class_unload_purge_ec,                     "    Exception Caches")            \
    f(conc_strong_roots,                              "Concurrent Strong Roots")         \
    SHENANDOAH_PAR_PHASE_DO(conc_strong_roots_,       "  CSR: ", f)                      \
    f(conc_evac,                                      "Concurrent Evacuation")           \
!   f(promote_in_place,                               "Concurrent Promote Regions")      \
    f(final_roots_gross,                              "Pause Final Roots (G)")           \
    f(final_roots,                                    "Pause Final Roots (N)")           \
                                                                                         \
    f(init_update_refs_gross,                         "Pause Init Update Refs (G)")      \
    f(init_update_refs,                               "Pause Init Update Refs (N)")      \

*** 113,10 ***
--- 121,12 ---
    f(final_update_refs_update_region_states,         "  Update Region States")          \
    f(final_update_refs_trash_cset,                   "  Trash Collection Set")          \
    f(final_update_refs_rebuild_freeset,              "  Rebuild Free Set")              \
                                                                                         \
    f(conc_cleanup_complete,                          "Concurrent Cleanup")              \
+   f(conc_coalesce_and_fill,                         "Concurrent Coalesce and Fill")    \
+   SHENANDOAH_PAR_PHASE_DO(conc_coalesce_,           "  CC&F: ", f)                     \
                                                                                         \
    f(degen_gc_gross,                                 "Pause Degenerated GC (G)")        \
    f(degen_gc,                                       "Pause Degenerated GC (N)")        \
    f(degen_gc_stw_mark,                              "  Degen STW Mark")                \
    SHENANDOAH_PAR_PHASE_DO(degen_gc_stw_mark_,       "    DSM: ", f)                    \

*** 142,10 ***
--- 152,13 ---
    f(degen_gc_final_update_refs_trash_cset,          "  Trash Collection Set")          \
    f(degen_gc_final_update_refs_rebuild_freeset,     "  Rebuild Free Set")              \
    f(degen_gc_update_roots,                          "  Degen Update Roots")            \
    SHENANDOAH_PAR_PHASE_DO(degen_gc_update_,         "    DU: ", f)                     \
    f(degen_gc_cleanup_complete,                      "  Cleanup")                       \
+   f(degen_gc_promote_regions,                       "  Degen Promote Regions")         \
+   f(degen_gc_coalesce_and_fill,                     "  Degen Coalesce and Fill")       \
+   SHENANDOAH_PAR_PHASE_DO(degen_coalesce_,          "    DC&F", f)                     \
                                                                                         \
    f(full_gc_gross,                                  "Pause Full GC (G)")               \
    f(full_gc,                                        "Pause Full GC (N)")               \
    f(full_gc_heapdump_pre,                           "  Pre Heap Dump")                 \
    f(full_gc_prepare,                                "  Prepare")                       \

*** 168,12 ***
--- 181,14 ---
    f(full_gc_adjust_roots,                           "  Adjust Roots")                  \
    SHENANDOAH_PAR_PHASE_DO(full_gc_adjust_roots_,    "    FA: ", f)                     \
    f(full_gc_copy_objects,                           "  Copy Objects")                  \
    f(full_gc_copy_objects_regular,                   "    Regular Objects")             \
    f(full_gc_copy_objects_humong,                    "    Humongous Objects")           \
+   f(full_gc_recompute_generation_usage,             "    Recompute generation usage")  \
    f(full_gc_copy_objects_reset_complete,            "    Reset Complete Bitmap")       \
    f(full_gc_copy_objects_rebuild,                   "    Rebuild Region Sets")         \
+   f(full_gc_reconstruct_remembered_set,             "    Reconstruct Remembered Set")  \
    f(full_gc_heapdump_post,                          "  Post Heap Dump")                \
                                                                                         \
    f(conc_uncommit,                                  "Concurrent Uncommit")             \
    f(pacing,                                         "Pacing")                          \
                                                                                         \

*** 248,10 ***
    uint const _worker_id;
  
    double _start_time;
    EventGCPhaseParallel _event;
  public:
!   ShenandoahWorkerTimingsTracker(ShenandoahPhaseTimings::Phase phase, ShenandoahPhaseTimings::ParPhase par_phase, uint worker_id);
    ~ShenandoahWorkerTimingsTracker();
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP
--- 263,13 ---
    uint const _worker_id;
  
    double _start_time;
    EventGCPhaseParallel _event;
  public:
!   ShenandoahWorkerTimingsTracker(ShenandoahPhaseTimings::Phase phase,
+                                  ShenandoahPhaseTimings::ParPhase par_phase,
+                                  uint worker_id,
+                                  bool cumulative = false);
    ~ShenandoahWorkerTimingsTracker();
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHPHASETIMINGS_HPP
< prev index next >