From 4ae9c34a4e00d148f206affb3a65926bf3fe230f Mon Sep 17 00:00:00 2001 From: Matt Valentine-House Date: Wed, 8 Mar 2023 10:45:59 +0000 Subject: [PATCH] Move RB_VM_SAVE_MACHINE_CONTEXT to internal/thread.h --- common.mk | 1 + internal/thread.h | 7 +++++++ vm_core.h | 7 ------- vm_sync.c | 1 + 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"