summaryrefslogtreecommitdiff
path: root/vm_sync.h
diff options
context:
space:
mode:
Diffstat (limited to 'vm_sync.h')
-rw-r--r--vm_sync.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/vm_sync.h b/vm_sync.h
index 457be2c6b8..314a2238a9 100644
--- a/vm_sync.h
+++ b/vm_sync.h
@@ -28,6 +28,10 @@ void rb_vm_lock_leave_body_nb(unsigned int *lev APPEND_LOCATION_ARGS);
void rb_vm_lock_leave_body(unsigned int *lev APPEND_LOCATION_ARGS);
void rb_vm_barrier(void);
+RUBY_SYMBOL_EXPORT_BEGIN
+VALUE rb_vm_lock_with_barrier(VALUE (*func)(void *args), void *args);
+RUBY_SYMBOL_EXPORT_END
+
#if RUBY_DEBUG
// GET_VM()
#include "vm_core.h"
@@ -142,11 +146,14 @@ rb_vm_lock_leave_cr(struct rb_ractor_struct *cr, unsigned int *levp, const char
#if RUBY_DEBUG > 0
void RUBY_ASSERT_vm_locking(void);
+void RUBY_ASSERT_vm_locking_with_barrier(void);
void RUBY_ASSERT_vm_unlocking(void);
#define ASSERT_vm_locking() RUBY_ASSERT_vm_locking()
+#define ASSERT_vm_locking_with_barrier() RUBY_ASSERT_vm_locking_with_barrier()
#define ASSERT_vm_unlocking() RUBY_ASSERT_vm_unlocking()
#else
#define ASSERT_vm_locking()
+#define ASSERT_vm_locking_with_barrier()
#define ASSERT_vm_unlocking()
#endif