1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
k0kubun 2018-03-13 12:29:55 +00:00
parent ccc2576514
commit d5e93cb582

View file

@ -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,