aboutsummaryrefslogtreecommitdiffstats
path: root/version.c
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-10-19 10:54:35 -0700
committerGitHub <noreply@github.com>2023-10-19 10:54:35 -0700
commit6beb09c2c99a2575027bdbc60a6fbb099416f74d (patch)
treedc0033f88b48f9cfd7ecaa67ca055a09a4437f96 /version.c
parent62e340251b577e3a9d11ac5c2b75ad49b8036294 (diff)
downloadruby-6beb09c2c99a2575027bdbc60a6fbb099416f74d.tar.gz
YJIT: Add RubyVM::YJIT.enable (#8705)
Diffstat (limited to 'version.c')
-rw-r--r--version.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/version.c b/version.c
index 5f4db2a622..b5b0bfda31 100644
--- a/version.c
+++ b/version.c
@@ -141,8 +141,8 @@ Init_version(void)
int ruby_mn_threads_enabled;
-void
-Init_ruby_description(ruby_cmdline_options_t *opt)
+static void
+define_ruby_description(const char *const jit_opt)
{
static char desc[
sizeof(ruby_description)
@@ -150,11 +150,6 @@ Init_ruby_description(ruby_cmdline_options_t *opt)
+ rb_strlen_lit(" +MN")
];
- const char *const jit_opt =
- RJIT_OPTS_ON ? " +RJIT" :
- YJIT_OPTS_ON ? YJIT_DESCRIPTION :
- "";
-
const char *const threads_opt = ruby_mn_threads_enabled ? " +MN" : "";
int n = snprintf(desc, sizeof(desc),
@@ -177,6 +172,23 @@ Init_ruby_description(ruby_cmdline_options_t *opt)
}
void
+Init_ruby_description(ruby_cmdline_options_t *opt)
+{
+ const char *const jit_opt =
+ RJIT_OPTS_ON ? " +RJIT" :
+ YJIT_OPTS_ON ? YJIT_DESCRIPTION :
+ "";
+ define_ruby_description(jit_opt);
+}
+
+void
+ruby_set_yjit_description(void)
+{
+ rb_const_remove(rb_cObject, rb_intern("RUBY_DESCRIPTION"));
+ define_ruby_description(YJIT_DESCRIPTION);
+}
+
+void
ruby_show_version(void)
{
puts(rb_dynamic_description);