namespace factor { namespace atomic { FACTOR_FORCE_INLINE static cell load(volatile cell *ptr) { atomic::fence(); return *ptr; } FACTOR_FORCE_INLINE static fixnum load(volatile fixnum *ptr) { atomic::fence(); return *ptr; } FACTOR_FORCE_INLINE static void store(volatile cell *ptr, cell val) { *ptr = val; atomic::fence(); } FACTOR_FORCE_INLINE static void store(volatile fixnum *ptr, fixnum val) { *ptr = val; atomic::fence(); } } }