55 #define compilerdirectives_c1_flags(cflags)
56 #endif
57
58 #ifdef COMPILER2
59 #define compilerdirectives_c2_flags(cflags) \
60 cflags(BlockLayoutByFrequency, bool, BlockLayoutByFrequency, BlockLayoutByFrequency) \
61 cflags(PrintOptoAssembly, bool, PrintOptoAssembly, PrintOptoAssembly) \
62 cflags(PrintIntrinsics, bool, PrintIntrinsics, PrintIntrinsics) \
63 NOT_PRODUCT(cflags(TraceOptoPipelining, bool, TraceOptoPipelining, TraceOptoPipelining)) \
64 NOT_PRODUCT(cflags(TraceOptoOutput, bool, TraceOptoOutput, TraceOptoOutput)) \
65 cflags(TraceSpilling, bool, TraceSpilling, TraceSpilling) \
66 cflags(Vectorize, bool, false, Vectorize) \
67 cflags(VectorizeDebug, uintx, 0, VectorizeDebug) \
68 cflags(CloneMapDebug, bool, false, CloneMapDebug) \
69 cflags(IGVPrintLevel, intx, PrintIdealGraphLevel, IGVPrintLevel) \
70 cflags(MaxNodeLimit, intx, MaxNodeLimit, MaxNodeLimit) \
71 /* ZGC */ \
72 cflags(OptimizeLoadBarriers, bool, OptimizeLoadBarriers, OptimizeLoadBarriers) \
73 cflags(UseBasicLoadBarrier, bool, UseBasicLoadBarrier, UseBasicLoadBarrier) \
74 /* ZGC temporary flags */ \
75 cflags(UseR15TestInLoadBarrier, bool, UseR15TestInLoadBarrier, UseR15TestInLoadBarrier) \
76 cflags(UseCASLoadBarrier, bool, UseCASLoadBarrier, UseCASLoadBarrier) \
77 cflags(UseWeakCASLoadBarrier, bool, UseWeakCASLoadBarrier, UseWeakCASLoadBarrier) \
78 cflags(UseCMPXLoadBarrier, bool, UseCMPXLoadBarrier, UseCMPXLoadBarrier) \
79 cflags(UseSwapLoadBarrier, bool, UseSwapLoadBarrier, UseSwapLoadBarrier)
80 #else
81 #define compilerdirectives_c2_flags(cflags)
82 #endif
83
84 class CompilerDirectives;
85 class DirectiveSet;
86
87 class DirectivesStack : AllStatic {
88 private:
89 static CompilerDirectives* _top;
90 static CompilerDirectives* _bottom;
91 static int _depth;
92
93 static void pop_inner(); // no lock version of pop
94 public:
95 static void init();
|
55 #define compilerdirectives_c1_flags(cflags)
56 #endif
57
58 #ifdef COMPILER2
59 #define compilerdirectives_c2_flags(cflags) \
60 cflags(BlockLayoutByFrequency, bool, BlockLayoutByFrequency, BlockLayoutByFrequency) \
61 cflags(PrintOptoAssembly, bool, PrintOptoAssembly, PrintOptoAssembly) \
62 cflags(PrintIntrinsics, bool, PrintIntrinsics, PrintIntrinsics) \
63 NOT_PRODUCT(cflags(TraceOptoPipelining, bool, TraceOptoPipelining, TraceOptoPipelining)) \
64 NOT_PRODUCT(cflags(TraceOptoOutput, bool, TraceOptoOutput, TraceOptoOutput)) \
65 cflags(TraceSpilling, bool, TraceSpilling, TraceSpilling) \
66 cflags(Vectorize, bool, false, Vectorize) \
67 cflags(VectorizeDebug, uintx, 0, VectorizeDebug) \
68 cflags(CloneMapDebug, bool, false, CloneMapDebug) \
69 cflags(IGVPrintLevel, intx, PrintIdealGraphLevel, IGVPrintLevel) \
70 cflags(MaxNodeLimit, intx, MaxNodeLimit, MaxNodeLimit) \
71 /* ZGC */ \
72 cflags(OptimizeLoadBarriers, bool, OptimizeLoadBarriers, OptimizeLoadBarriers) \
73 cflags(UseBasicLoadBarrier, bool, UseBasicLoadBarrier, UseBasicLoadBarrier) \
74 /* ZGC temporary flags */ \
75 cflags(UseCASLoadBarrier, bool, UseCASLoadBarrier, UseCASLoadBarrier) \
76 cflags(UseWeakCASLoadBarrier, bool, UseWeakCASLoadBarrier, UseWeakCASLoadBarrier) \
77 cflags(UseCMPXLoadBarrier, bool, UseCMPXLoadBarrier, UseCMPXLoadBarrier) \
78 cflags(UseSwapLoadBarrier, bool, UseSwapLoadBarrier, UseSwapLoadBarrier)
79 #else
80 #define compilerdirectives_c2_flags(cflags)
81 #endif
82
83 class CompilerDirectives;
84 class DirectiveSet;
85
86 class DirectivesStack : AllStatic {
87 private:
88 static CompilerDirectives* _top;
89 static CompilerDirectives* _bottom;
90 static int _depth;
91
92 static void pop_inner(); // no lock version of pop
93 public:
94 static void init();
|