< prev index next >

src/hotspot/share/compiler/compilerDirectives.hpp

Print this page




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




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


< prev index next >