aboutsummaryrefslogtreecommitdiffstats
path: root/mini_builtin.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2019-12-13 17:26:12 +0900
committerKoichi Sasada <ko1@atdot.net>2019-12-13 17:55:45 +0900
commit97a17a51b8e6eca31fd6421511f1907e6e95b415 (patch)
treea5ed30bd4542954dc3473b3011068241c02749d2 /mini_builtin.c
parent1140625cd31f7ad74c42dc625b9dab389b12653c (diff)
downloadruby-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.c4
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;