Open
Description
We currently store SFT entries as &dyn SFT
which is a fat pointers. This is only efficient when the platform supports atomic instructions for double word size, i.e. 128 bits atomics on 64bits machines, and 64 bits atomics on 32 bits machines. We will give a warning in a debug build if the platform does not support double word atomics, in which case, a fall back locking mechanism is used to ensure the atomic access.
If we would like to provide efficient implementation for platforms that do not support 128 bits atomics, we should consider not using &dyn SFT
. We need a way to represent an SFT entry as a normal pointer.