< prev index next >

src/hotspot/share/jvmci/jvmci_globals.hpp

Print this page




  32 //
  33 // Defines all global flags used by the JVMCI compiler. Only flags that need
  34 // to be accessible to the JVMCI C++ code should be defined here.
  35 //
  36 #define JVMCI_FLAGS(develop, \
  37                     develop_pd, \
  38                     product, \
  39                     product_pd, \
  40                     diagnostic, \
  41                     diagnostic_pd, \
  42                     experimental, \
  43                     notproduct, \
  44                     range, \
  45                     constraint, \
  46                     writeable) \
  47                                                                             \
  48   experimental(bool, EnableJVMCI, false,                                    \
  49           "Enable JVMCI")                                                   \
  50                                                                             \
  51   experimental(bool, EnableJVMCIProduct, false,                             \
  52           "Allow JVMCI to be used in product mode")                         \



  53                                                                             \
  54   experimental(bool, UseJVMCICompiler, false,                               \
  55           "Use JVMCI as the default compiler")                              \

  56                                                                             \
  57   experimental(bool, JVMCIPrintProperties, false,                           \
  58           "Prints properties used by the JVMCI compiler and exits")         \
  59                                                                             \
  60   experimental(bool, BootstrapJVMCI, false,                                 \
  61           "Bootstrap JVMCI before running Java main method. This "          \
  62           "initializes the compile queue with a small set of methods "      \
  63           "and processes the queue until it is empty. Combining this with " \
  64           "-XX:-TieredCompilation makes JVMCI compile more of itself.")     \
  65                                                                             \
  66   experimental(bool, EagerJVMCI, false,                                     \
  67           "Force eager JVMCI initialization")                               \
  68                                                                             \
  69   experimental(bool, PrintBootstrap, true,                                  \
  70           "Print JVMCI bootstrap progress and summary")                     \
  71                                                                             \
  72   experimental(intx, JVMCIThreads, 1,                                       \
  73           "Force number of JVMCI compiler threads to use. Ignored if "      \
  74           "UseJVMCICompiler is false.")                                     \
  75           range(1, max_jint)                                                \


 100                                                                             \
 101   develop(bool, JVMCIUseFastLocking, true,                                  \
 102           "Use fast inlined locking code")                                  \
 103                                                                             \
 104   experimental(intx, JVMCINMethodSizeLimit, (80*K)*wordSize,                \
 105           "Maximum size of a compiled method.")                             \
 106                                                                             \
 107   experimental(intx, MethodProfileWidth, 0,                                 \
 108           "Number of methods to record in call profile")                    \
 109                                                                             \
 110   experimental(ccstr, JVMCILibPath, NULL,                                   \
 111           "LD path for loading the JVMCI shared library")                   \
 112                                                                             \
 113   experimental(ccstr, JVMCILibDumpJNIConfig, NULL,                          \
 114           "Dumps to the given file a description of the classes, fields "   \
 115           "and methods the JVMCI shared library must provide")              \
 116                                                                             \
 117   experimental(bool, UseJVMCINativeLibrary, false,                          \
 118           "Execute JVMCI Java code from a shared library "                  \
 119           "instead of loading it from class files and executing it "        \
 120           "on the HotSpot heap")                                            \

 121                                                                             \
 122   NOT_COMPILER2(diagnostic(bool, UseMultiplyToLenIntrinsic, false,          \
 123           "Enables intrinsification of BigInteger.multiplyToLen()"))        \
 124                                                                             \
 125   NOT_COMPILER2(diagnostic(bool, UseSquareToLenIntrinsic, false,            \
 126           "Enables intrinsification of BigInteger.squareToLen()"))          \
 127                                                                             \
 128   NOT_COMPILER2(diagnostic(bool, UseMulAddIntrinsic, false,                 \
 129           "Enables intrinsification of BigInteger.mulAdd()"))               \
 130                                                                             \
 131   NOT_COMPILER2(diagnostic(bool, UseMontgomeryMultiplyIntrinsic, false,     \
 132           "Enables intrinsification of BigInteger.montgomeryMultiply()"))   \
 133                                                                             \
 134   NOT_COMPILER2(diagnostic(bool, UseMontgomerySquareIntrinsic, false,       \
 135           "Enables intrinsification of BigInteger.montgomerySquare()"))
 136 
 137 // The base name for the shared library containing the JVMCI based compiler
 138 #define JVMCI_SHARED_LIBRARY_NAME "jvmcicompiler"
 139 
 140 class JVMCIGlobals {


  32 //
  33 // Defines all global flags used by the JVMCI compiler. Only flags that need
  34 // to be accessible to the JVMCI C++ code should be defined here.
  35 //
  36 #define JVMCI_FLAGS(develop, \
  37                     develop_pd, \
  38                     product, \
  39                     product_pd, \
  40                     diagnostic, \
  41                     diagnostic_pd, \
  42                     experimental, \
  43                     notproduct, \
  44                     range, \
  45                     constraint, \
  46                     writeable) \
  47                                                                             \
  48   experimental(bool, EnableJVMCI, false,                                    \
  49           "Enable JVMCI")                                                   \
  50                                                                             \
  51   experimental(bool, EnableJVMCIProduct, false,                             \
  52           "Allow JVMCI to be used in product mode. This alters a subset of "\
  53           "JVMCI flags to be non-experimental, defaults UseJVMCICompiler "  \
  54           "to true and defaults UseJVMCINativeLibrary to true if a JVMCI "  \
  55           "native library is available.")                                   \
  56                                                                             \
  57   experimental(bool, UseJVMCICompiler, false,                               \
  58           "Use JVMCI as the default compiler. Defaults to true if "         \
  59           "EnableJVMCIProduct is true.")                                    \
  60                                                                             \
  61   experimental(bool, JVMCIPrintProperties, false,                           \
  62           "Prints properties used by the JVMCI compiler and exits")         \
  63                                                                             \
  64   experimental(bool, BootstrapJVMCI, false,                                 \
  65           "Bootstrap JVMCI before running Java main method. This "          \
  66           "initializes the compile queue with a small set of methods "      \
  67           "and processes the queue until it is empty. Combining this with " \
  68           "-XX:-TieredCompilation makes JVMCI compile more of itself.")     \
  69                                                                             \
  70   experimental(bool, EagerJVMCI, false,                                     \
  71           "Force eager JVMCI initialization")                               \
  72                                                                             \
  73   experimental(bool, PrintBootstrap, true,                                  \
  74           "Print JVMCI bootstrap progress and summary")                     \
  75                                                                             \
  76   experimental(intx, JVMCIThreads, 1,                                       \
  77           "Force number of JVMCI compiler threads to use. Ignored if "      \
  78           "UseJVMCICompiler is false.")                                     \
  79           range(1, max_jint)                                                \


 104                                                                             \
 105   develop(bool, JVMCIUseFastLocking, true,                                  \
 106           "Use fast inlined locking code")                                  \
 107                                                                             \
 108   experimental(intx, JVMCINMethodSizeLimit, (80*K)*wordSize,                \
 109           "Maximum size of a compiled method.")                             \
 110                                                                             \
 111   experimental(intx, MethodProfileWidth, 0,                                 \
 112           "Number of methods to record in call profile")                    \
 113                                                                             \
 114   experimental(ccstr, JVMCILibPath, NULL,                                   \
 115           "LD path for loading the JVMCI shared library")                   \
 116                                                                             \
 117   experimental(ccstr, JVMCILibDumpJNIConfig, NULL,                          \
 118           "Dumps to the given file a description of the classes, fields "   \
 119           "and methods the JVMCI shared library must provide")              \
 120                                                                             \
 121   experimental(bool, UseJVMCINativeLibrary, false,                          \
 122           "Execute JVMCI Java code from a shared library "                  \
 123           "instead of loading it from class files and executing it "        \
 124           "on the HotSpot heap. Defaults to true if EnableJVMCIProduct is " \
 125           "true and a JVMCI native library is available.")\
 126                                                                             \
 127   NOT_COMPILER2(diagnostic(bool, UseMultiplyToLenIntrinsic, false,          \
 128           "Enables intrinsification of BigInteger.multiplyToLen()"))        \
 129                                                                             \
 130   NOT_COMPILER2(diagnostic(bool, UseSquareToLenIntrinsic, false,            \
 131           "Enables intrinsification of BigInteger.squareToLen()"))          \
 132                                                                             \
 133   NOT_COMPILER2(diagnostic(bool, UseMulAddIntrinsic, false,                 \
 134           "Enables intrinsification of BigInteger.mulAdd()"))               \
 135                                                                             \
 136   NOT_COMPILER2(diagnostic(bool, UseMontgomeryMultiplyIntrinsic, false,     \
 137           "Enables intrinsification of BigInteger.montgomeryMultiply()"))   \
 138                                                                             \
 139   NOT_COMPILER2(diagnostic(bool, UseMontgomerySquareIntrinsic, false,       \
 140           "Enables intrinsification of BigInteger.montgomerySquare()"))
 141 
 142 // The base name for the shared library containing the JVMCI based compiler
 143 #define JVMCI_SHARED_LIBRARY_NAME "jvmcicompiler"
 144 
 145 class JVMCIGlobals {
< prev index next >