diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-03-13 12:29:55 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-03-13 12:29:55 +0000 |
commit | d5e93cb5822700e77def28b3b0aa7da425ce5ac8 (patch) | |
tree | 136d3e13e63ead15ffa63c93e402adb9aa4035c4 /mjit_compile.c | |
parent | ccc25765143ef294c0a68b48d829c37d86c93b65 (diff) |
mjit_compile.c: disable comment_id by default
Doing `rb_ary_aref` to `global_symbols.ids` is not thread-safe and
randomly causes SEGV.
https://gist.github.com/k0kubun/ab60727c6be7c0e777d2b4241f59173c
But it's convenient for development. So I keep it optionally available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'mjit_compile.c')
-rw-r--r-- | mjit_compile.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mjit_compile.c b/mjit_compile.c index 5bf14a1388..6a48d06703 100644 --- a/mjit_compile.c +++ b/mjit_compile.c @@ -78,9 +78,13 @@ compile_case_dispatch_each(VALUE key, VALUE value, VALUE arg) return ST_CONTINUE; } +#define MJIT_COMMENT_ID 0 + +/* Calling rb_id2str in MJIT worker causes random SEGV. So this is disabled by default. */ static void comment_id(FILE *f, ID id) { +#ifdef MJIT_COMMENT_ID VALUE name = rb_id2str(id); const char *p, *e; char c, prev = '\0'; @@ -98,6 +102,7 @@ comment_id(FILE *f, ID id) prev = c; } fputs("\" */", f); +#endif } static void compile_insns(FILE *f, const struct rb_iseq_constant_body *body, unsigned int stack_size, |