diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-10 05:02:35 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-10 05:02:35 +0000 |
commit | 6c70fede0c1fce37f7586d959b853df2bdbfff5f (patch) | |
tree | 365a09784776740613c505b5aec7c76f9b22f28a | |
parent | a40f12b77c7c199d88adba5ea51035d81b62549d (diff) |
version.c: separate Init_ruby_description
* version.c (Init_ruby_description): separate to initialize
RUBY_DESCRIPTION constant according to mjit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | mjit.c | 9 | ||||
-rw-r--r-- | ruby.c | 3 | ||||
-rw-r--r-- | version.c | 24 |
3 files changed, 21 insertions, 15 deletions
@@ -1674,8 +1674,6 @@ system_tmpdir(void) /* Minimum value for JIT cache size. */ #define MIN_CACHE_SIZE 10 -extern const char ruby_description_with_jit[]; - /* Start MJIT worker. Return TRUE if worker is sucessfully started. */ static int start_worker(void) @@ -1702,8 +1700,6 @@ start_worker(void) void mjit_init(struct mjit_options *opts) { - VALUE rb_description; - mjit_opts = *opts; mjit_enabled = TRUE; mjit_call_p = TRUE; @@ -1755,11 +1751,6 @@ mjit_init(struct mjit_options *opts) rb_id_table_foreach(RCLASS_CONST_TBL(rb_cObject), valid_class_serials_add_i, NULL); } - /* Overwrites RUBY_DESCRIPTION constant */ - rb_const_remove(rb_cObject, rb_intern("RUBY_DESCRIPTION")); - rb_description = rb_usascii_str_new_static(ruby_description_with_jit, strlen(ruby_description_with_jit)); - rb_define_global_const("RUBY_DESCRIPTION", rb_obj_freeze(rb_description)); - /* Initialize worker thread */ start_worker(); } @@ -54,6 +54,8 @@ #include "mjit.h" +void Init_ruby_description(void); + #ifndef HAVE_STDLIB_H char *getenv(); #endif @@ -1633,6 +1635,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) /* Using TMP_RUBY_PREFIX created by ruby_init_loadpath_safe(). */ mjit_init(&opt->mjit); + Init_ruby_description(); Init_enc(); lenc = rb_locale_encoding(); rb_enc_associate(rb_progname, lenc); @@ -33,7 +33,7 @@ const char ruby_release_date[] = RUBY_RELEASE_DATE; const char ruby_platform[] = RUBY_PLATFORM; const int ruby_patchlevel = RUBY_PATCHLEVEL; const char ruby_description[] = RUBY_DESCRIPTION_WITH(""); -const char ruby_description_with_jit[] = RUBY_DESCRIPTION_WITH(" +JIT"); +static const char ruby_description_with_jit[] = RUBY_DESCRIPTION_WITH(" +JIT"); const char ruby_copyright[] = RUBY_COPYRIGHT; const char ruby_engine[] = "ruby"; @@ -67,11 +67,6 @@ Init_version(void) */ rb_define_global_const("RUBY_REVISION", MKINT(revision)); /* - * The full ruby version string, like <tt>ruby -v</tt> prints' - * This might be overwritten by mjit_init(). - */ - rb_define_global_const("RUBY_DESCRIPTION", MKSTR(description)); - /* * The copyright string for ruby */ rb_define_global_const("RUBY_COPYRIGHT", MKSTR(copyright)); @@ -86,6 +81,23 @@ Init_version(void) rb_define_global_const("RUBY_ENGINE_VERSION", (1 ? version : MKSTR(version))); } +void +Init_ruby_description(void) +{ + VALUE description; + + if (mjit_opts.on) { + description = MKSTR(description_with_jit); + } + else { + description = MKSTR(description); + } + /* + * The full ruby version string, like <tt>ruby -v</tt> prints + */ + rb_define_global_const("RUBY_DESCRIPTION", description); +} + /*! Prints the version information of the CRuby interpreter to stdout. */ void ruby_show_version(void) |