From e62214be87a53045dbec187c66e208bc303e0f60 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Wed, 1 Aug 2018 03:40:37 +0000 Subject: move atomic logic from mjit.c from ruby_atomic.h This macro shall be shared among other files, not just for mjit.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby_atomic.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ruby_atomic.h') diff --git a/ruby_atomic.h b/ruby_atomic.h index ba25758a28..1b395cd23f 100644 --- a/ruby_atomic.h +++ b/ruby_atomic.h @@ -90,6 +90,10 @@ rb_w32_atomic_cas(volatile rb_atomic_t *var, rb_atomic_t oldval, rb_atomic_t new # define ATOMIC_SIZE_EXCHANGE(var, val) InterlockedExchange((LONG *)&(var), (val)) # endif +# ifdef InterlockedExchangePointer +# define ATOMIC_PTR_EXCHANGE(var, val) InterlockedExchangePointer((PVOID volatile *)&(var), (PVOID)(val)) +# endif /* See below for definitions of other situations */ + #elif defined(__sun) && defined(HAVE_ATOMIC_H) #include typedef unsigned int rb_atomic_t; -- cgit v1.2.3