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