< prev index next >

src/hotspot/share/compiler/compilerDirectives.hpp

Print this page

 52 
 53 #ifdef COMPILER1
 54   #define compilerdirectives_c1_flags(cflags)
 55 #else
 56   #define compilerdirectives_c1_flags(cflags)
 57 #endif
 58 
 59 #ifdef COMPILER2
 60   #define compilerdirectives_c2_flags(cflags) \
 61     cflags(BlockLayoutByFrequency,  bool, BlockLayoutByFrequency,  BlockLayoutByFrequency) \
 62     cflags(PrintOptoAssembly,       bool, PrintOptoAssembly, PrintOptoAssembly) \
 63     cflags(PrintIntrinsics,         bool, PrintIntrinsics, PrintIntrinsics) \
 64 NOT_PRODUCT(cflags(TraceOptoPipelining, bool, TraceOptoPipelining, TraceOptoPipelining)) \
 65 NOT_PRODUCT(cflags(TraceOptoOutput,     bool, TraceOptoOutput, TraceOptoOutput)) \
 66 NOT_PRODUCT(cflags(PrintIdeal,          bool, PrintIdeal, PrintIdeal)) \
 67 NOT_PRODUCT(cflags(IGVPrintLevel,       intx, PrintIdealGraphLevel, IGVPrintLevel)) \
 68     cflags(TraceSpilling,           bool, TraceSpilling, TraceSpilling) \
 69     cflags(Vectorize,               bool, false, Vectorize) \
 70     cflags(VectorizeDebug,          uintx, 0, VectorizeDebug) \
 71     cflags(CloneMapDebug,           bool, false, CloneMapDebug) \
 72     cflags(MaxNodeLimit,            intx, MaxNodeLimit, MaxNodeLimit)




 73 #else
 74   #define compilerdirectives_c2_flags(cflags)
 75 #endif
 76 
 77 class CompilerDirectives;
 78 class DirectiveSet;
 79 
 80 class DirectivesStack : AllStatic {
 81 private:
 82   static CompilerDirectives* _top;
 83   static CompilerDirectives* _bottom;
 84   static int _depth;
 85 
 86   static void pop_inner(); // no lock version of pop
 87 public:
 88   static void init();
 89   static DirectiveSet* getMatchingDirective(const methodHandle& mh, AbstractCompiler* comp);
 90   static DirectiveSet* getDefaultDirective(AbstractCompiler* comp);
 91   static void push(CompilerDirectives* directive);
 92   static void pop(int count);

 52 
 53 #ifdef COMPILER1
 54   #define compilerdirectives_c1_flags(cflags)
 55 #else
 56   #define compilerdirectives_c1_flags(cflags)
 57 #endif
 58 
 59 #ifdef COMPILER2
 60   #define compilerdirectives_c2_flags(cflags) \
 61     cflags(BlockLayoutByFrequency,  bool, BlockLayoutByFrequency,  BlockLayoutByFrequency) \
 62     cflags(PrintOptoAssembly,       bool, PrintOptoAssembly, PrintOptoAssembly) \
 63     cflags(PrintIntrinsics,         bool, PrintIntrinsics, PrintIntrinsics) \
 64 NOT_PRODUCT(cflags(TraceOptoPipelining, bool, TraceOptoPipelining, TraceOptoPipelining)) \
 65 NOT_PRODUCT(cflags(TraceOptoOutput,     bool, TraceOptoOutput, TraceOptoOutput)) \
 66 NOT_PRODUCT(cflags(PrintIdeal,          bool, PrintIdeal, PrintIdeal)) \
 67 NOT_PRODUCT(cflags(IGVPrintLevel,       intx, PrintIdealGraphLevel, IGVPrintLevel)) \
 68     cflags(TraceSpilling,           bool, TraceSpilling, TraceSpilling) \
 69     cflags(Vectorize,               bool, false, Vectorize) \
 70     cflags(VectorizeDebug,          uintx, 0, VectorizeDebug) \
 71     cflags(CloneMapDebug,           bool, false, CloneMapDebug) \
 72     cflags(MaxNodeLimit,            intx, MaxNodeLimit, MaxNodeLimit) \
 73 NOT_PRODUCT(cflags(PrintEscapeAnalysis,       bool, PrintEscapeAnalysis, PrintEscapeAnalysis)) \
 74 NOT_PRODUCT(cflags(PrintEliminateAllocations, bool, PrintEliminateAllocations, PrintEliminateAllocations)) \
 75     cflags(UseStackAllocation,                bool, UseStackAllocation, UseStackAllocation) \
 76 NOT_PRODUCT(cflags(PrintStackAllocation,      bool, PrintStackAllocation, PrintStackAllocation))
 77 #else
 78   #define compilerdirectives_c2_flags(cflags)
 79 #endif
 80 
 81 class CompilerDirectives;
 82 class DirectiveSet;
 83 
 84 class DirectivesStack : AllStatic {
 85 private:
 86   static CompilerDirectives* _top;
 87   static CompilerDirectives* _bottom;
 88   static int _depth;
 89 
 90   static void pop_inner(); // no lock version of pop
 91 public:
 92   static void init();
 93   static DirectiveSet* getMatchingDirective(const methodHandle& mh, AbstractCompiler* comp);
 94   static DirectiveSet* getDefaultDirective(AbstractCompiler* comp);
 95   static void push(CompilerDirectives* directive);
 96   static void pop(int count);
< prev index next >