@@ -3385,7 +3385,7 @@ static jl_value_t *jl_validate_cache_file(ios_t *f, jl_array_t *depmods, uint64_
3385
3385
}
3386
3386
3387
3387
// TODO?: refactor to make it easier to create the "package inspector"
3388
- static jl_value_t * jl_restore_package_image_from_stream (ios_t * f , jl_image_t * image , jl_array_t * depmods , int completeinfo , const char * pkgname , bool needs_permalloc )
3388
+ static jl_value_t * jl_restore_package_image_from_stream (void * pkgimage_handle , ios_t * f , jl_image_t * image , jl_array_t * depmods , int completeinfo , const char * pkgname , bool needs_permalloc )
3389
3389
{
3390
3390
JL_TIMING (LOAD_IMAGE , LOAD_Pkgimg );
3391
3391
jl_timing_printf (JL_TIMING_DEFAULT_BLOCK , pkgname );
@@ -3440,7 +3440,7 @@ static jl_value_t *jl_restore_package_image_from_stream(ios_t *f, jl_image_t *im
3440
3440
size_t world = jl_atomic_load_acquire (& jl_world_counter );
3441
3441
jl_insert_backedges ((jl_array_t * )edges , (jl_array_t * )ext_targets , (jl_array_t * )new_specializations , world ); // restore external backedges (needs to be last)
3442
3442
// reinit ccallables
3443
- jl_reinit_ccallable (& ccallable_list , base , NULL );
3443
+ jl_reinit_ccallable (& ccallable_list , base , pkgimage_handle );
3444
3444
arraylist_free (& ccallable_list );
3445
3445
3446
3446
if (completeinfo ) {
@@ -3471,11 +3471,11 @@ static void jl_restore_system_image_from_stream(ios_t *f, jl_image_t *image, uin
3471
3471
jl_restore_system_image_from_stream_ (f , image , NULL , checksum | ((uint64_t )0xfdfcfbfa << 32 ), NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL );
3472
3472
}
3473
3473
3474
- JL_DLLEXPORT jl_value_t * jl_restore_incremental_from_buf (const char * buf , jl_image_t * image , size_t sz , jl_array_t * depmods , int completeinfo , const char * pkgname , bool needs_permalloc )
3474
+ JL_DLLEXPORT jl_value_t * jl_restore_incremental_from_buf (void * pkgimage_handle , const char * buf , jl_image_t * image , size_t sz , jl_array_t * depmods , int completeinfo , const char * pkgname , bool needs_permalloc )
3475
3475
{
3476
3476
ios_t f ;
3477
3477
ios_static_buffer (& f , (char * )buf , sz );
3478
- jl_value_t * ret = jl_restore_package_image_from_stream (& f , image , depmods , completeinfo , pkgname , needs_permalloc );
3478
+ jl_value_t * ret = jl_restore_package_image_from_stream (pkgimage_handle , & f , image , depmods , completeinfo , pkgname , needs_permalloc );
3479
3479
ios_close (& f );
3480
3480
return ret ;
3481
3481
}
@@ -3488,7 +3488,7 @@ JL_DLLEXPORT jl_value_t *jl_restore_incremental(const char *fname, jl_array_t *d
3488
3488
"Cache file \"%s\" not found.\n" , fname );
3489
3489
}
3490
3490
jl_image_t pkgimage = {};
3491
- jl_value_t * ret = jl_restore_package_image_from_stream (& f , & pkgimage , depmods , completeinfo , pkgname , true);
3491
+ jl_value_t * ret = jl_restore_package_image_from_stream (NULL , & f , & pkgimage , depmods , completeinfo , pkgname , true);
3492
3492
ios_close (& f );
3493
3493
return ret ;
3494
3494
}
@@ -3559,7 +3559,7 @@ JL_DLLEXPORT jl_value_t *jl_restore_package_image_from_file(const char *fname, j
3559
3559
3560
3560
jl_image_t pkgimage = jl_init_processor_pkgimg (pkgimg_handle );
3561
3561
3562
- jl_value_t * mod = jl_restore_incremental_from_buf (pkgimg_data , & pkgimage , * plen , depmods , completeinfo , pkgname , false);
3562
+ jl_value_t * mod = jl_restore_incremental_from_buf (pkgimg_handle , pkgimg_data , & pkgimage , * plen , depmods , completeinfo , pkgname , false);
3563
3563
3564
3564
return mod ;
3565
3565
}
0 commit comments