RFR: Use s-macro to keep GC phase enum and names in sync

Aleksey Shipilev shade at redhat.com
Thu Sep 27 07:34:57 UTC 2018


On 09/27/2018 04:22 AM, Zhengyu Gu wrote:
> To keep GC phase enum and phase names, parallel phase enum and timing data in sync, avoid bugs that
> caused by adding new enum values without adding responding names or worker data, etc.
> 
> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/gc_phase_sync/webrev.00/

Okay. I think indent for backslashes in SHENANDOAH_GC_PHASE_DO should be consistent throughout the
enum, it starts to get flaky here:

 109   f(evac_cldg_roots,                                "    E: CLDG Roots")          \
 110   f(evac_jvmti_roots,                               "    E: JVMTI Roots")         \
 111   f(evac_string_dedup_table_roots,                  "    E: String Dedup Table Roots")  \
 112   f(evac_string_dedup_queue_roots,                  "    E: String Dedup Queue Roots")  \
 113   f(evac_finish_queues,                             "    E: Finish Queues")       \
 114                                                                                   \
 115   f(final_evac,                                     "Pause Final Evac (N)")       \
 116   f(final_evac_gross,                               "Pause Final Evac (G)")       \
 117                                                                                   \
 118   f(init_update_refs_gross,                         "Pause Init  Update Refs (G)")  \
 119   f(init_update_refs,                               "Pause Init  Update Refs (N)")  \
 120                                                                                     \
 121   f(final_update_refs_gross,                         "Pause Final Update Refs (G)") \


-Aleksey



More information about the shenandoah-dev mailing list