< prev index next >

src/hotspot/share/compiler/compilerDefinitions.hpp

Print this page

 42 
 43 // Handy constants for deciding which compiler mode to use.
 44 enum MethodCompilation {
 45   InvocationEntryBci   = -1,     // i.e., not a on-stack replacement compilation
 46   BeforeBci            = InvocationEntryBci,
 47   AfterBci             = -2,
 48   UnwindBci            = -3,
 49   AfterExceptionBci    = -4,
 50   UnknownBci           = -5,
 51   InvalidFrameStateBci = -6
 52 };
 53 
 54 // Enumeration to distinguish tiers of compilation
 55 enum CompLevel : s1 {
 56   CompLevel_any               = -1,        // Used for querying the state
 57   CompLevel_all               = -1,        // Used for changing the state
 58   CompLevel_none              = 0,         // Interpreter
 59   CompLevel_simple            = 1,         // C1
 60   CompLevel_limited_profile   = 2,         // C1, invocation & backedge counters
 61   CompLevel_full_profile      = 3,         // C1, invocation & backedge counters + mdo
 62   CompLevel_full_optimization = 4          // C2 or JVMCI

 63 };
 64 
 65 class CompilationModeFlag : AllStatic {
 66   enum class Mode {
 67     NORMAL,
 68     QUICK_ONLY,
 69     HIGH_ONLY,
 70     HIGH_ONLY_QUICK_INTERNAL
 71   };
 72   static Mode _mode;
 73   static void print_error();
 74 public:
 75   static bool initialize();
 76   static bool normal()                   { return _mode == Mode::NORMAL;                   }
 77   static bool quick_only()               { return _mode == Mode::QUICK_ONLY;               }
 78   static bool high_only()                { return _mode == Mode::HIGH_ONLY;                }
 79   static bool high_only_quick_internal() { return _mode == Mode::HIGH_ONLY_QUICK_INTERNAL; }
 80 
 81   static bool disable_intermediate()     { return high_only() || high_only_quick_internal(); }
 82   static bool quick_internal()           { return !high_only(); }

 42 
 43 // Handy constants for deciding which compiler mode to use.
 44 enum MethodCompilation {
 45   InvocationEntryBci   = -1,     // i.e., not a on-stack replacement compilation
 46   BeforeBci            = InvocationEntryBci,
 47   AfterBci             = -2,
 48   UnwindBci            = -3,
 49   AfterExceptionBci    = -4,
 50   UnknownBci           = -5,
 51   InvalidFrameStateBci = -6
 52 };
 53 
 54 // Enumeration to distinguish tiers of compilation
 55 enum CompLevel : s1 {
 56   CompLevel_any               = -1,        // Used for querying the state
 57   CompLevel_all               = -1,        // Used for changing the state
 58   CompLevel_none              = 0,         // Interpreter
 59   CompLevel_simple            = 1,         // C1
 60   CompLevel_limited_profile   = 2,         // C1, invocation & backedge counters
 61   CompLevel_full_profile      = 3,         // C1, invocation & backedge counters + mdo
 62   CompLevel_full_optimization = 4,         // C2 or JVMCI
 63   CompLevel_count             = 4
 64 };
 65 
 66 class CompilationModeFlag : AllStatic {
 67   enum class Mode {
 68     NORMAL,
 69     QUICK_ONLY,
 70     HIGH_ONLY,
 71     HIGH_ONLY_QUICK_INTERNAL
 72   };
 73   static Mode _mode;
 74   static void print_error();
 75 public:
 76   static bool initialize();
 77   static bool normal()                   { return _mode == Mode::NORMAL;                   }
 78   static bool quick_only()               { return _mode == Mode::QUICK_ONLY;               }
 79   static bool high_only()                { return _mode == Mode::HIGH_ONLY;                }
 80   static bool high_only_quick_internal() { return _mode == Mode::HIGH_ONLY_QUICK_INTERNAL; }
 81 
 82   static bool disable_intermediate()     { return high_only() || high_only_quick_internal(); }
 83   static bool quick_internal()           { return !high_only(); }
< prev index next >