Skip to content

Commit

Permalink
When YJIT is not built, hide options and use MJIT for --jit
Browse files Browse the repository at this point in the history
YJIT is now a build-time opt-in so on platforms that YJIT could support
it could still be unavailable due to user discretion. Use MJIT for --jit
and don't display YJIT related command line options in --help when YJIT
is not included in the build.
  • Loading branch information
XrXr committed Jun 23, 2022
1 parent 1ccdb1a commit eb1a84a
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions ruby.c
Expand Up @@ -111,7 +111,7 @@ void rb_warning_category_update(unsigned int mask, unsigned int bits);
enum feature_flag_bits {
EACH_FEATURES(DEFINE_FEATURE, COMMA),
feature_debug_flag_first,
#if defined(MJIT_FORCE_ENABLE) || !YJIT_SUPPORTED_P
#if defined(MJIT_FORCE_ENABLE) || !YJIT_BUILD
DEFINE_FEATURE(jit) = feature_mjit,
#else
DEFINE_FEATURE(jit) = feature_yjit,
Expand Down Expand Up @@ -247,7 +247,7 @@ usage(const char *name, int help, int highlight, int columns)

#define M(shortopt, longopt, desc) RUBY_OPT_MESSAGE(shortopt, longopt, desc)

#if YJIT_SUPPORTED_P
#if YJIT_BUILD
# define PLATFORM_JIT_OPTION "--yjit"
#else
# define PLATFORM_JIT_OPTION "--mjit"
Expand Down Expand Up @@ -277,7 +277,7 @@ usage(const char *name, int help, int highlight, int columns)
#if USE_MJIT
M("--mjit", "", "enable C compiler-based JIT compiler (experimental)"),
#endif
#if YJIT_SUPPORTED_P
#if YJIT_BUILD
M("--yjit", "", "enable in-process JIT compiler (experimental)"),
#endif
M("-h", "", "show this message, --help for more info"),
Expand Down Expand Up @@ -311,7 +311,7 @@ usage(const char *name, int help, int highlight, int columns)
#if USE_MJIT
M("mjit", "", "C compiler-based JIT compiler (default: disabled)"),
#endif
#if YJIT_SUPPORTED_P
#if YJIT_BUILD
M("yjit", "", "in-process JIT compiler (default: disabled)"),
#endif
};
Expand All @@ -322,7 +322,7 @@ usage(const char *name, int help, int highlight, int columns)
#if USE_MJIT
extern const struct ruby_opt_message mjit_option_messages[];
#endif
#if YJIT_SUPPORTED_P
#if YJIT_BUILD
static const struct ruby_opt_message yjit_options[] = {
#if YJIT_STATS
M("--yjit-stats", "", "Enable collecting YJIT statistics"),
Expand Down Expand Up @@ -364,7 +364,7 @@ usage(const char *name, int help, int highlight, int columns)
for (i = 0; mjit_option_messages[i].str; ++i)
SHOW(mjit_option_messages[i]);
#endif
#if YJIT_SUPPORTED_P
#if YJIT_BUILD
printf("%s""YJIT options (experimental):%s\n", sb, se);
for (i = 0; i < numberof(yjit_options); ++i)
SHOW(yjit_options[i]);
Expand Down

0 comments on commit eb1a84a

Please sign in to comment.