49 flags(PHASEIDEALLOOP_ITERATIONS, "PhaseIdealLoop iterations") \
50 flags(OPTIMIZE_FINISHED, "Optimize finished") \
51 flags(GLOBAL_CODE_MOTION, "Global code motion") \
52 flags(FINAL_CODE, "Final Code") \
53 flags(AFTER_EA, "After Escape Analysis") \
54 flags(BEFORE_CLOOPS, "Before CountedLoop") \
55 flags(AFTER_CLOOPS, "After CountedLoop") \
56 flags(BEFORE_BEAUTIFY_LOOPS, "Before beautify loops") \
57 flags(AFTER_BEAUTIFY_LOOPS, "After beautify loops") \
58 flags(BEFORE_MATCHING, "Before matching") \
59 flags(MATCHING, "After matching") \
60 flags(INCREMENTAL_INLINE, "Incremental Inline") \
61 flags(INCREMENTAL_INLINE_STEP, "Incremental Inline Step") \
62 flags(INCREMENTAL_INLINE_CLEANUP, "Incremental Inline Cleanup") \
63 flags(INCREMENTAL_BOXING_INLINE, "Incremental Boxing Inline") \
64 flags(CALL_CATCH_CLEANUP, "Call catch cleanup") \
65 flags(MACRO_EXPANSION, "Macro expand") \
66 flags(BARRIER_EXPANSION, "Barrier expand") \
67 flags(END, "End") \
68 flags(FAILURE, "Failure") \
69 flags(DEBUG, "Debug")
70
71 #define table_entry(name, description) PHASE_##name,
72 enum CompilerPhaseType {
73 COMPILER_PHASES(table_entry)
74 PHASE_NUM_TYPES,
75 PHASE_NONE
76 };
77 #undef table_entry
78
79 static const char* phase_descriptions[] = {
80 #define array_of_labels(name, description) description,
81 COMPILER_PHASES(array_of_labels)
82 #undef array_of_labels
83 };
84
85 static const char* phase_names[] = {
86 #define array_of_labels(name, description) #name,
87 COMPILER_PHASES(array_of_labels)
88 #undef array_of_labels
|
49 flags(PHASEIDEALLOOP_ITERATIONS, "PhaseIdealLoop iterations") \
50 flags(OPTIMIZE_FINISHED, "Optimize finished") \
51 flags(GLOBAL_CODE_MOTION, "Global code motion") \
52 flags(FINAL_CODE, "Final Code") \
53 flags(AFTER_EA, "After Escape Analysis") \
54 flags(BEFORE_CLOOPS, "Before CountedLoop") \
55 flags(AFTER_CLOOPS, "After CountedLoop") \
56 flags(BEFORE_BEAUTIFY_LOOPS, "Before beautify loops") \
57 flags(AFTER_BEAUTIFY_LOOPS, "After beautify loops") \
58 flags(BEFORE_MATCHING, "Before matching") \
59 flags(MATCHING, "After matching") \
60 flags(INCREMENTAL_INLINE, "Incremental Inline") \
61 flags(INCREMENTAL_INLINE_STEP, "Incremental Inline Step") \
62 flags(INCREMENTAL_INLINE_CLEANUP, "Incremental Inline Cleanup") \
63 flags(INCREMENTAL_BOXING_INLINE, "Incremental Boxing Inline") \
64 flags(CALL_CATCH_CLEANUP, "Call catch cleanup") \
65 flags(MACRO_EXPANSION, "Macro expand") \
66 flags(BARRIER_EXPANSION, "Barrier expand") \
67 flags(END, "End") \
68 flags(FAILURE, "Failure") \
69 flags(SPLIT_INLINES_ARRAY, "Split inlines array") \
70 flags(SPLIT_INLINES_ARRAY_IGVN, "IGVN after split inlines array") \
71 flags(DEBUG, "Debug")
72
73 #define table_entry(name, description) PHASE_##name,
74 enum CompilerPhaseType {
75 COMPILER_PHASES(table_entry)
76 PHASE_NUM_TYPES,
77 PHASE_NONE
78 };
79 #undef table_entry
80
81 static const char* phase_descriptions[] = {
82 #define array_of_labels(name, description) description,
83 COMPILER_PHASES(array_of_labels)
84 #undef array_of_labels
85 };
86
87 static const char* phase_names[] = {
88 #define array_of_labels(name, description) #name,
89 COMPILER_PHASES(array_of_labels)
90 #undef array_of_labels
|