summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.mk1
-rw-r--r--internal/thread.h7
-rw-r--r--vm_core.h7
-rw-r--r--vm_sync.c1
4 files changed, 9 insertions, 7 deletions
diff --git a/common.mk b/common.mk
index b376a32eaf..7f3fcff4b6 100644
--- a/common.mk
+++ b/common.mk
@@ -17621,6 +17621,7 @@ vm_sync.$(OBJEXT): $(top_srcdir)/internal/gc.h
vm_sync.$(OBJEXT): $(top_srcdir)/internal/imemo.h
vm_sync.$(OBJEXT): $(top_srcdir)/internal/serial.h
vm_sync.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
+vm_sync.$(OBJEXT): $(top_srcdir)/internal/thread.h
vm_sync.$(OBJEXT): $(top_srcdir)/internal/variable.h
vm_sync.$(OBJEXT): $(top_srcdir)/internal/vm.h
vm_sync.$(OBJEXT): $(top_srcdir)/internal/warnings.h
diff --git a/internal/thread.h b/internal/thread.h
index 2bcc2d242e..7bb4b77a86 100644
--- a/internal/thread.h
+++ b/internal/thread.h
@@ -13,6 +13,13 @@
struct rb_thread_struct; /* in vm_core.h */
+#define RB_VM_SAVE_MACHINE_CONTEXT(th) \
+ do { \
+ FLUSH_REGISTER_WINDOWS; \
+ setjmp((th)->ec->machine.regs); \
+ SET_MACHINE_STACK_END(&(th)->ec->machine.stack_end); \
+ } while (0)
+
/* thread.c */
#define COVERAGE_INDEX_LINES 0
#define COVERAGE_INDEX_BRANCHES 1
diff --git a/vm_core.h b/vm_core.h
index 2ec52fa1b0..724c8cd739 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -1819,13 +1819,6 @@ RUBY_EXTERN unsigned int ruby_vm_event_local_num;
#define GET_THREAD() rb_current_thread()
#define GET_EC() rb_current_execution_context(true)
-#define RB_VM_SAVE_MACHINE_CONTEXT(th) \
- do { \
- FLUSH_REGISTER_WINDOWS; \
- setjmp((th)->ec->machine.regs); \
- SET_MACHINE_STACK_END(&(th)->ec->machine.stack_end); \
- } while (0)
-
static inline rb_thread_t *
rb_ec_thread_ptr(const rb_execution_context_t *ec)
{
diff --git a/vm_sync.c b/vm_sync.c
index 41eab1b9e6..01c8505344 100644
--- a/vm_sync.c
+++ b/vm_sync.c
@@ -1,4 +1,5 @@
#include "internal/gc.h"
+#include "internal/thread.h"
#include "vm_core.h"
#include "vm_sync.h"
#include "ractor_core.h"