You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some bits in ct_flags are mutable, like CT_LAZY_FIELD_LIST, CT_IS_OPAQUE, and CT_CUSTOM_FIELD_POS | CT_WITH_PACKED_CHANGE. These may need to be moved to ct_flags_mut and we need synchronization for the handling of CT_LAZY_FIELD_LIST.
b_complete_struct_or_union (related to above). This realizes the lazy field list.
Thread-safety (done)
get_primitive_type: We initialize all primitive types at module initialization, instead of doing them lazily. This is pretty inexpensive (~100 µs).
file_struct: now initialized during module initialization
_get_ct_int: now initialized during module initialization
init_once_cache: The cache itself is initialized under a critical section and we use APIs that return strong references instead of borrowed references.
malloc_closure: use a global mutex
...
The text was updated successfully, but these errors were encountered:
Packaging and testing
Thread-safety (todo)
ct_flags
are mutable, likeCT_LAZY_FIELD_LIST
,CT_IS_OPAQUE
, andCT_CUSTOM_FIELD_POS | CT_WITH_PACKED_CHANGE
. These may need to be moved toct_flags_mut
and we need synchronization for the handling ofCT_LAZY_FIELD_LIST
.b_complete_struct_or_union
(related to above). This realizes the lazy field list.Thread-safety (done)
get_primitive_type
: We initialize all primitive types at module initialization, instead of doing them lazily. This is pretty inexpensive (~100 µs).file_struct
: now initialized during module initialization_get_ct_int
: now initialized during module initializationinit_once_cache
: The cache itself is initialized under a critical section and we use APIs that return strong references instead of borrowed references.malloc_closure
: use a global mutexThe text was updated successfully, but these errors were encountered: