src/hotspot/share/jvmci/jvmci_globals.hpp
changeset 58821 5ec8aeda451e
parent 54982 b18c8301b8c2
child 59023 f0dca628176c
equal deleted inserted replaced
58819:ef8be51fff48 58821:5ec8aeda451e
    23  */
    23  */
    24 
    24 
    25 #ifndef SHARE_JVMCI_JVMCI_GLOBALS_HPP
    25 #ifndef SHARE_JVMCI_JVMCI_GLOBALS_HPP
    26 #define SHARE_JVMCI_JVMCI_GLOBALS_HPP
    26 #define SHARE_JVMCI_JVMCI_GLOBALS_HPP
    27 
    27 
       
    28 #include "runtime/flags/jvmFlag.hpp"
       
    29 
    28 class fileStream;
    30 class fileStream;
    29 
    31 
    30 //
    32 //
    31 // Defines all global flags used by the JVMCI compiler. Only flags that need
    33 // Defines all global flags used by the JVMCI compiler. Only flags that need
    32 // to be accessible to the JVMCI C++ code should be defined here.
    34 // to be accessible to the JVMCI C++ code should be defined here.
    43                     constraint, \
    45                     constraint, \
    44                     writeable) \
    46                     writeable) \
    45                                                                             \
    47                                                                             \
    46   experimental(bool, EnableJVMCI, false,                                    \
    48   experimental(bool, EnableJVMCI, false,                                    \
    47           "Enable JVMCI")                                                   \
    49           "Enable JVMCI")                                                   \
       
    50                                                                             \
       
    51   experimental(bool, EnableJVMCIProduct, false,                             \
       
    52           "Allow JVMCI to be used in product mode")                         \
    48                                                                             \
    53                                                                             \
    49   experimental(bool, UseJVMCICompiler, false,                               \
    54   experimental(bool, UseJVMCICompiler, false,                               \
    50           "Use JVMCI as the default compiler")                              \
    55           "Use JVMCI as the default compiler")                              \
    51                                                                             \
    56                                                                             \
    52   experimental(bool, JVMCIPrintProperties, false,                           \
    57   experimental(bool, JVMCIPrintProperties, false,                           \
   140   // Returns true if jvmci flags are consistent. If not consistent,
   145   // Returns true if jvmci flags are consistent. If not consistent,
   141   // an error message describing the inconsistency is printed before
   146   // an error message describing the inconsistency is printed before
   142   // returning false.
   147   // returning false.
   143   static bool check_jvmci_flags_are_consistent();
   148   static bool check_jvmci_flags_are_consistent();
   144 
   149 
       
   150   // Convert JVMCI experimental flags to product
       
   151   static bool enable_jvmci_product_mode(JVMFlag::Flags);
       
   152 
   145   // Check and exit VM with error if selected GC is not supported by JVMCI.
   153   // Check and exit VM with error if selected GC is not supported by JVMCI.
   146   static void check_jvmci_supported_gc();
   154   static void check_jvmci_supported_gc();
   147 
   155 
   148   static fileStream* get_jni_config_file() { return _jni_config_file; }
   156   static fileStream* get_jni_config_file() { return _jni_config_file; }
   149 };
   157 };