@@ -344,6 +344,9 @@ static uintptr_t type_object_id_(jl_value_t *v, jl_varidx_t *env) JL_NOTSAFEPOIN
344344 i ++ ;
345345 pe = pe -> prev ;
346346 }
347+ // FIXME: Pinning objects that get hashed
348+ // until we implement address space hashing.
349+ PTR_PIN (v );
347350 uintptr_t bits = jl_astaggedvalue (v )-> header ;
348351 if (bits & GC_IN_IMAGE )
349352 return ((uintptr_t * )v )[-2 ];
@@ -400,6 +403,10 @@ static uintptr_t immut_id_(jl_datatype_t *dt, jl_value_t *v, uintptr_t h) JL_NOT
400403 // a few select pointers (notably symbol) also have special hash values
401404 // which may affect the stability of the objectid hash, even though
402405 // they don't affect egal comparison
406+
407+ // FIXME: Pinning objects that get hashed
408+ // until we implement address space hashing.
409+ PTR_PIN (v );
403410 return bits_hash (v , sz ) ^ h ;
404411 }
405412 if (dt == jl_unionall_type )
@@ -460,6 +467,10 @@ static uintptr_t NOINLINE jl_object_id__cold(uintptr_t tv, jl_value_t *v) JL_NOT
460467 uintptr_t bits = jl_astaggedvalue (v )-> header ;
461468 if (bits & GC_IN_IMAGE )
462469 return ((uintptr_t * )v )[-2 ];
470+
471+ // FIXME: Pinning objects that get hashed
472+ // until we implement address space hashing.
473+ PTR_PIN (v );
463474 return inthash ((uintptr_t )v );
464475 }
465476 return immut_id_ (dt , v , dt -> hash );
0 commit comments