@@ -3372,7 +3372,7 @@ static jl_value_t *jl_validate_cache_file(ios_t *f, jl_array_t *depmods, uint64_
3372
3372
}
3373
3373
3374
3374
// TODO?: refactor to make it easier to create the "package inspector"
3375
- 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 )
3375
+ 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 )
3376
3376
{
3377
3377
JL_TIMING (LOAD_IMAGE , LOAD_Pkgimg );
3378
3378
jl_timing_printf (JL_TIMING_DEFAULT_BLOCK , pkgname );
@@ -3427,7 +3427,7 @@ static jl_value_t *jl_restore_package_image_from_stream(ios_t *f, jl_image_t *im
3427
3427
size_t world = jl_atomic_load_acquire (& jl_world_counter );
3428
3428
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)
3429
3429
// reinit ccallables
3430
- jl_reinit_ccallable (& ccallable_list , base , NULL );
3430
+ jl_reinit_ccallable (& ccallable_list , base , pkgimage_handle );
3431
3431
arraylist_free (& ccallable_list );
3432
3432
3433
3433
if (completeinfo ) {
@@ -3458,11 +3458,11 @@ static void jl_restore_system_image_from_stream(ios_t *f, jl_image_t *image, uin
3458
3458
jl_restore_system_image_from_stream_ (f , image , NULL , checksum | ((uint64_t )0xfdfcfbfa << 32 ), NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL , NULL );
3459
3459
}
3460
3460
3461
- 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 )
3461
+ 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 )
3462
3462
{
3463
3463
ios_t f ;
3464
3464
ios_static_buffer (& f , (char * )buf , sz );
3465
- jl_value_t * ret = jl_restore_package_image_from_stream (& f , image , depmods , completeinfo , pkgname , needs_permalloc );
3465
+ jl_value_t * ret = jl_restore_package_image_from_stream (pkgimage_handle , & f , image , depmods , completeinfo , pkgname , needs_permalloc );
3466
3466
ios_close (& f );
3467
3467
return ret ;
3468
3468
}
@@ -3475,7 +3475,7 @@ JL_DLLEXPORT jl_value_t *jl_restore_incremental(const char *fname, jl_array_t *d
3475
3475
"Cache file \"%s\" not found.\n" , fname );
3476
3476
}
3477
3477
jl_image_t pkgimage = {};
3478
- jl_value_t * ret = jl_restore_package_image_from_stream (& f , & pkgimage , depmods , completeinfo , pkgname , true);
3478
+ jl_value_t * ret = jl_restore_package_image_from_stream (NULL , & f , & pkgimage , depmods , completeinfo , pkgname , true);
3479
3479
ios_close (& f );
3480
3480
return ret ;
3481
3481
}
@@ -3546,7 +3546,7 @@ JL_DLLEXPORT jl_value_t *jl_restore_package_image_from_file(const char *fname, j
3546
3546
3547
3547
jl_image_t pkgimage = jl_init_processor_pkgimg (pkgimg_handle );
3548
3548
3549
- jl_value_t * mod = jl_restore_incremental_from_buf (pkgimg_data , & pkgimage , * plen , depmods , completeinfo , pkgname , false);
3549
+ jl_value_t * mod = jl_restore_incremental_from_buf (pkgimg_handle , pkgimg_data , & pkgimage , * plen , depmods , completeinfo , pkgname , false);
3550
3550
3551
3551
return mod ;
3552
3552
}
0 commit comments