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