summaryrefslogtreecommitdiff
path: root/include/mimalloc-internal.h
diff options
context:
space:
mode:
authordaan <daanl@outlook.com>2020-09-03 09:47:01 -0700
committerdaan <daanl@outlook.com>2020-09-03 09:47:01 -0700
commit900c97664a1e624489207bc17b3f30be8ca66f32 (patch)
tree47b27f6c6bd88839312f42649ed0c13e5c347035 /include/mimalloc-internal.h
parentb4825372abf9c86186a53eda6b1e243aebdc2c68 (diff)
parent76a68cd7af539625dea3ce349aa7742bc02e1ebc (diff)
merge from dev-atomic
Diffstat (limited to 'include/mimalloc-internal.h')
-rw-r--r--include/mimalloc-internal.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/mimalloc-internal.h b/include/mimalloc-internal.h
index 146bf5c..145f6f9 100644
--- a/include/mimalloc-internal.h
+++ b/include/mimalloc-internal.h
@@ -448,21 +448,21 @@ static inline size_t mi_page_usable_block_size(const mi_page_t* page) {
// Thread free access
static inline mi_block_t* mi_page_thread_free(const mi_page_t* page) {
- return (mi_block_t*)(mi_atomic_read_relaxed(&page->xthread_free) & ~3);
+ return (mi_block_t*)(mi_atomic_load_relaxed(&((mi_page_t*)page)->xthread_free) & ~3);
}
static inline mi_delayed_t mi_page_thread_free_flag(const mi_page_t* page) {
- return (mi_delayed_t)(mi_atomic_read_relaxed(&page->xthread_free) & 3);
+ return (mi_delayed_t)(mi_atomic_load_relaxed(&((mi_page_t*)page)->xthread_free) & 3);
}
// Heap access
static inline mi_heap_t* mi_page_heap(const mi_page_t* page) {
- return (mi_heap_t*)(mi_atomic_read_relaxed(&page->xheap));
+ return (mi_heap_t*)(mi_atomic_load_relaxed(&((mi_page_t*)page)->xheap));
}
static inline void mi_page_set_heap(mi_page_t* page, mi_heap_t* heap) {
mi_assert_internal(mi_page_thread_free_flag(page) != MI_DELAYED_FREEING);
- mi_atomic_write(&page->xheap,(uintptr_t)heap);
+ mi_atomic_store_release(&page->xheap,(uintptr_t)heap);
}
// Thread free flag helpers