diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-02-13 09:34:43 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-02-13 09:34:43 +0000 |
commit | 8cdac548c54ad3a1df70da47ad820f3afc96e2cb (patch) | |
tree | 79f907c36e37ac023b246af806b5133d5c125529 | |
parent | 66652bb6322ed7ba17c1e8485aee2701e9cadded (diff) |
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
-rw-r--r-- | constant.h | 1 | ||||
-rw-r--r-- | vm_core.h | 2 | ||||
-rw-r--r-- | 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 */ @@ -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; } |