From 8cdac548c54ad3a1df70da47ad820f3afc96e2cb Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 13 Feb 2018 09:34:43 +0000 Subject: [PATCH] vm_insnhelper.c: rb_autoloading_value flag * vm_insnhelper.c (vm_get_ev_const): add flag argument of `rb_autoloading_value`. * constant.h (rb_autoloading_value): moved the declaration from vm_core.h for `rb_const_flag_t`. [ruby-core:85516] [Bug #14469] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- constant.h | 1 + vm_core.h | 2 -- vm_insnhelper.c | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/constant.h b/constant.h index 76b59fa047..fcccf07384 100644 --- a/constant.h +++ b/constant.h @@ -46,5 +46,6 @@ int rb_public_const_defined(VALUE klass, ID id); int rb_public_const_defined_at(VALUE klass, ID id); int rb_public_const_defined_from(VALUE klass, ID id); rb_const_entry_t *rb_const_lookup(VALUE klass, ID id); +int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag); #endif /* CONSTANT_H */ diff --git a/vm_core.h b/vm_core.h index b7eebf0061..0a62b66db8 100644 --- a/vm_core.h +++ b/vm_core.h @@ -1592,8 +1592,6 @@ void rb_vm_register_special_exception_str(enum ruby_special_exceptions sp, VALUE void rb_gc_mark_machine_stack(const rb_execution_context_t *ec); -int rb_autoloading_value(VALUE mod, ID id, VALUE* value); - void rb_vm_rewrite_cref(rb_cref_t *node, VALUE old_klass, VALUE new_klass, rb_cref_t **new_cref_ptr); const rb_callable_method_entry_t *rb_vm_frame_method_entry(const rb_control_frame_t *cfp); diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 415070f852..5567c6b20f 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -841,7 +841,7 @@ vm_get_ev_const(rb_execution_context_t *ec, VALUE orig_klass, ID id, int is_defi if (am == klass) break; am = klass; if (is_defined) return 1; - if (rb_autoloading_value(klass, id, &av)) return av; + if (rb_autoloading_value(klass, id, &av, NULL)) return av; rb_autoload_load(klass, id); goto search_continue; }