changeset 56526:954e771ea81c fibers

Merge
author alanb
date Mon, 19 Aug 2019 16:09:36 +0100
parents 8e4c118cd0fd 0d56a52a5be8
children 9df945d6114b
files
diffstat 2 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp	Mon Aug 19 16:01:24 2019 +0100
+++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp	Mon Aug 19 16:09:36 2019 +0100
@@ -54,6 +54,7 @@
   f(scan_resolved_method_table_roots,               "    S: Resolved Table Roots")      \
   f(scan_vm_global_roots,                           "    S: VM Global Roots")           \
   f(scan_vm_weak_roots,                             "    S: VM Weak Roots")             \
+  f(scan_nmethod_keepalive,                         "    S: NMethod Keepalive")         \
   f(scan_synchronizer_roots,                        "    S: Synchronizer Roots")        \
   f(scan_management_roots,                          "    S: Management Roots")          \
   f(scan_system_dictionary_roots,                   "    S: System Dict Roots")         \
@@ -81,6 +82,7 @@
   f(update_resolved_method_table_roots,             "    U: Resolved Table Roots")      \
   f(update_vm_global_roots,                         "    U: VM Global Roots")           \
   f(update_vm_weak_roots,                           "    U: VM Weak Roots")             \
+  f(update_nmethod_keepalive,                       "    U: NMethod Keepalive")         \
   f(update_synchronizer_roots,                      "    U: Synchronizer Roots")        \
   f(update_management_roots,                        "    U: Management Roots")          \
   f(update_system_dictionary_roots,                 "    U: System Dict Roots")         \
@@ -116,6 +118,7 @@
   f(evac_resolved_method_table_roots,               "    E: Resolved Table Roots")      \
   f(evac_vm_global_roots,                           "    E: VM Global Roots")           \
   f(evac_vm_weak_roots,                             "    E: VM Weak Roots")             \
+  f(evac_nmethod_keepalive,                         "    E: NMethod Keepalive")         \
   f(evac_synchronizer_roots,                        "    E: Synchronizer Roots")        \
   f(evac_management_roots,                          "    E: Management Roots")          \
   f(evac_system_dictionary_roots,                   "    E: System Dict Roots")         \
@@ -148,6 +151,7 @@
   f(final_update_resolved_method_table_roots,        "    UR: Resolved Table Roots")    \
   f(final_update_vm_global_roots,                    "    UR: VM Global Roots")         \
   f(final_update_vm_weak_roots,                      "    UR: VM Weak Roots")           \
+  f(final_update_nmethod_keepalive,                  "    UR: NMethod Keepalive")       \
   f(final_update_refs_synchronizer_roots,            "    UR: Synchronizer Roots")      \
   f(final_update_refs_management_roots,              "    UR: Management Roots")        \
   f(final_update_refs_system_dict_roots,             "    UR: System Dict Roots")       \
@@ -175,6 +179,7 @@
   f(degen_gc_update_resolved_method_table_roots,     "    DU: Resolved Table Roots")    \
   f(degen_gc_update_vm_global_roots,                 "    DU: VM Global Roots")         \
   f(degen_gc_update_vm_weak_roots,                   "    DU: VM Weak Roots")           \
+  f(degen_gc_update_nmethod_keepalive,               "    DU: NMethod Keepalive")       \
   f(degen_gc_update_synchronizer_roots,              "    DU: Synchronizer Roots")      \
   f(degen_gc_update_management_roots,                "    DU: Management Roots")        \
   f(degen_gc_update_system_dict_roots,               "    DU: System Dict Roots")       \
@@ -203,6 +208,7 @@
   f(init_traversal_gc_resolved_method_table_roots,   "    TI: Resolved Table Roots")    \
   f(init_traversal_gc_vm_global_roots,               "    TI: VM Global Roots")         \
   f(init_traversal_gc_vm_weak_roots,                 "    TI: VM Weak Roots")           \
+  f(init_traversal_gc_nmethod_keepalive,             "    TI: NMethod Keepalive")       \
   f(init_traversal_gc_synchronizer_roots,            "    TI: Synchronizer Roots")      \
   f(init_traversal_gc_management_roots,              "    TI: Management Roots")        \
   f(init_traversal_gc_system_dict_roots,             "    TI: System Dict Roots")       \
@@ -228,6 +234,7 @@
   f(final_traversal_gc_resolved_method_table_roots,  "    TF: Resolved Table Roots")    \
   f(final_traversal_gc_vm_global_roots,              "    TF: VM Global Roots")         \
   f(final_traversal_gc_vm_weak_roots,                "    TF: VM Weak Roots")           \
+  f(final_traversal_gc_nmethod_keepalive,            "    TF: NMethod Keepalive")       \
   f(final_traversal_gc_synchronizer_roots,           "    TF: Synchronizer Roots")      \
   f(final_traversal_gc_management_roots,             "    TF: Management Roots")        \
   f(final_traversal_gc_system_dict_roots,            "    TF: System Dict Roots")       \
@@ -251,6 +258,7 @@
   f(final_traversal_update_resolved_method_table_roots, "    TU: Resolved Table Roots") \
   f(final_traversal_update_vm_global_roots,             "    TU: VM Global Roots")      \
   f(final_traversal_update_vm_weak_roots,               "    TU: VM Weak Roots")        \
+  f(final_traversal_update_nmethod_keepalive,           "    TU: NMethod Keepalive")    \
   f(final_traversal_update_synchronizer_roots,          "    TU: Synchronizer Roots")   \
   f(final_traversal_update_management_roots,            "    TU: Management Roots")     \
   f(final_traversal_update_system_dict_roots,           "    TU: System Dict Roots")    \
@@ -280,6 +288,7 @@
   f(full_gc_resolved_method_table_roots,             "    F: Resolved Table Roots")     \
   f(full_gc_vm_global_roots,                         "    F: VM Global Roots")          \
   f(full_gc_vm_weak_roots,                           "    F: VM Weak Roots")            \
+  f(full_gc_nmethod_keepalive,                       "    F: NMethod Keepalive")        \
   f(full_gc_synchronizer_roots,                      "    F: Synchronizer Roots")       \
   f(full_gc_management_roots,                        "    F: Management Roots")         \
   f(full_gc_system_dictionary_roots,                 "    F: System Dict Roots")        \
@@ -341,6 +350,7 @@
   f(ResolvedMethodTableRoots, "Resolved Table Roots(ms):")       \
   f(VMGlobalRoots,            "VM Global Roots(ms)")             \
   f(VMWeakRoots,              "VM Weak Roots(ms)")               \
+  f(NMethodKeepAliveRoots,    "NMethod Keepalive Roots(ms)")     \
   f(ObjectSynchronizerRoots,  "ObjectSynchronizer Roots (ms):")  \
   f(ManagementRoots,          "Management Roots (ms):")          \
   f(SystemDictionaryRoots,    "SystemDictionary Roots (ms):")    \
--- a/src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp	Mon Aug 19 16:01:24 2019 +0100
+++ b/src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp	Mon Aug 19 16:09:36 2019 +0100
@@ -34,6 +34,7 @@
 #include "gc/shenandoah/shenandoahHeap.hpp"
 #include "gc/shenandoah/shenandoahHeuristics.hpp"
 #include "gc/shenandoah/shenandoahUtils.hpp"
+#include "utilities/debug.hpp"
 
 ShenandoahPhaseTimings::Phase ShenandoahGCPhase::_current_phase = ShenandoahGCPhase::_invalid_phase;
 
@@ -199,10 +200,11 @@
   {WeakProcessorPhases::jni,                   ShenandoahPhaseTimings::JNIWeakRoots},
   {WeakProcessorPhases::stringtable,           ShenandoahPhaseTimings::StringTableRoots},
   {WeakProcessorPhases::resolved_method_table, ShenandoahPhaseTimings::ResolvedMethodTableRoots},
-  {WeakProcessorPhases::vm,                    ShenandoahPhaseTimings::VMWeakRoots}
+  {WeakProcessorPhases::vm,                    ShenandoahPhaseTimings::VMWeakRoots},
+  {WeakProcessorPhases::nmethod_keepalive,     ShenandoahPhaseTimings::NMethodKeepAliveRoots}
 };
 
-//STATIC_ASSERT(sizeof(phase_mapping) / sizeof(PhaseMap) == WeakProcessorPhases::phase_count);
+STATIC_ASSERT(sizeof(phase_mapping) / sizeof(PhaseMap) == WeakProcessorPhases::phase_count);
 
 void ShenandoahTimingConverter::weak_processing_timing_to_shenandoah_timing(WeakProcessorPhaseTimes* weak_processing_timings,
                                                                             ShenandoahWorkerTimings* sh_worker_times) {