diff --git a/compile.c b/compile.c index 0fefbfeb71..5293b32695 100644 --- a/compile.c +++ b/compile.c @@ -9582,15 +9582,29 @@ ibf_load_iseq(const struct ibf_load *load, const rb_iseq_t *index_iseq) } else { rb_iseq_t *iseq = iseq_imemo_alloc(); +#if IBF_ISEQ_DEBUG + fprintf(stderr, "ibf_load_iseq: new iseq=%p\n", iseq); +#endif FL_SET(iseq, ISEQ_NOT_LOADED_YET); iseq->aux.loader.obj = load->loader_obj; iseq->aux.loader.index = iseq_index; +#if IBF_ISEQ_DEBUG + fprintf(stderr, "ibf_load_iseq: iseq=%p loader_obj=%p index=%d\n", + iseq, (void *)load->loader_obj, iseq_index); +#endif rb_ary_store(load->iseq_list, iseq_index, (VALUE)iseq); #if !USE_LAZY_LOAD +#if IBF_ISEQ_DEBUG + fprintf(stderr, "ibf_load_iseq: loading iseq=%p\n", iseq); +#endif ibf_load_iseq_complete(iseq); #endif /* !USE_LAZY_LOAD */ +#if IBF_ISEQ_DEBUG + fprintf(stderr, "ibf_load_iseq: iseq=%p loaded %p\n", + iseq, load->iseq); +#endif if (load->iseq) { iseq_add_mark_object(load->iseq, (VALUE)iseq); }