See the environment variable and then check if JIT options conflict

This commit is contained in:
Nobuyoshi Nakada 2022-07-08 19:04:57 +09:00
Родитель 7bab788309
Коммит 58e7205c82
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
1 изменённых файлов: 5 добавлений и 5 удалений

10
ruby.c
Просмотреть файл

@ -1811,11 +1811,6 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
*/
rb_warning("-K is specified; it is for 1.8 compatibility and may cause odd behavior");
if (MULTI_BITS_P(FEATURE_SET_BITS(opt->features) & feature_jit_mask)) {
rb_warn("MJIT and YJIT cannot both be enabled at the same time. Exiting");
return Qfalse;
}
if (!(FEATURE_SET_BITS(opt->features) & feature_jit_mask)) {
#if YJIT_BUILD
if (!FEATURE_USED_P(opt->features, yjit) && getenv("RUBY_YJIT_ENABLE")) {
@ -1823,6 +1818,11 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
}
#endif
}
if (MULTI_BITS_P(FEATURE_SET_BITS(opt->features) & feature_jit_mask)) {
rb_warn("MJIT and YJIT cannot both be enabled at the same time. Exiting");
return Qfalse;
}
#if USE_MJIT
if (FEATURE_SET_P(opt->features, mjit)) {
opt->mjit.on = TRUE; /* set mjit.on for ruby_show_version() API and check to call mjit_init() */