take care of USE_LAZY_LOAD=1.
On USE_LAZY_LOAD=1, the iseq should be loaded. So rb_iseq_check() is needed. Furthermore, now lazy loading with builtin_function_table is not supported, so it should cancel lazy loading.
This commit is contained in:
parent
81e377023c
commit
d9bf9c572f
@ -51,7 +51,7 @@ rb_load_with_builtin_functions(const char *feature_name, const struct rb_builtin
|
|||||||
vm->builtin_function_table = NULL;
|
vm->builtin_function_table = NULL;
|
||||||
|
|
||||||
// exec
|
// exec
|
||||||
rb_iseq_eval(iseq);
|
rb_iseq_eval(rb_iseq_check(iseq));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -11499,7 +11499,11 @@ ibf_load_iseq(const struct ibf_load *load, const rb_iseq_t *index_iseq)
|
|||||||
#if IBF_ISEQ_DEBUG
|
#if IBF_ISEQ_DEBUG
|
||||||
fprintf(stderr, "ibf_load_iseq: loading iseq=%p\n", (void *)iseq);
|
fprintf(stderr, "ibf_load_iseq: loading iseq=%p\n", (void *)iseq);
|
||||||
#endif
|
#endif
|
||||||
rb_ibf_load_iseq_complete(iseq);
|
rb_ibf_load_iseq_complete(iseq);
|
||||||
|
#else
|
||||||
|
if (GET_VM()->builtin_function_table) {
|
||||||
|
rb_ibf_load_iseq_complete(iseq);
|
||||||
|
}
|
||||||
#endif /* !USE_LAZY_LOAD */
|
#endif /* !USE_LAZY_LOAD */
|
||||||
|
|
||||||
#if IBF_ISEQ_DEBUG
|
#if IBF_ISEQ_DEBUG
|
||||||
|
Loading…
x
Reference in New Issue
Block a user