diff options
author | Koichi Sasada <ko1@atdot.net> | 2019-12-13 17:26:12 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2019-12-13 17:55:45 +0900 |
commit | 97a17a51b8e6eca31fd6421511f1907e6e95b415 (patch) | |
tree | a5ed30bd4542954dc3473b3011068241c02749d2 /mini_builtin.c | |
parent | 1140625cd31f7ad74c42dc625b9dab389b12653c (diff) | |
download | ruby-97a17a51b8e6eca31fd6421511f1907e6e95b415.tar.gz |
readable function names for inline functions.
Now, C functions written by __builtin_cexpr!(code) and others are
named as "__builtin_inline#{n}". However, it is difficult to know
what the function is. This patch rename them into
"__builtin_foo_#{lineno}" when cexpr! is in 'foo' method.
Diffstat (limited to 'mini_builtin.c')
-rw-r--r-- | mini_builtin.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mini_builtin.c b/mini_builtin.c index 3db640cf01..ad289bf896 100644 --- a/mini_builtin.c +++ b/mini_builtin.c @@ -18,8 +18,10 @@ builtin_iseq_load(const char *feature_name, const struct rb_builtin_function *ta { VALUE name_str = 0; rb_ast_t *ast = rb_builtin_ast(feature_name, &name_str); + rb_vm_t *vm = GET_VM(); - GET_VM()->builtin_function_table = table; + vm->builtin_function_table = table; + vm->builtin_inline_index = 0; const rb_iseq_t *iseq = rb_iseq_new(&ast->body, name_str, name_str, Qnil, NULL, ISEQ_TYPE_TOP); GET_VM()->builtin_function_table = NULL; |