From 3b0bcaf2872e5ab6d2475e9cd6dd5c374d93ae0b Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Fri, 4 Sep 2020 05:51:55 +0900 Subject: check multi_ractor mode at main_p rb_ractor_main_p() need to access to the ractor pointer in TLS. However it is slow operation so that we need to skip this check if it is not multi-ractor mode (!ruby_multi_ractor). This performance regression is pointed at https://bugs.ruby-lang.org/issues/17100#note-27 --- vm_sync.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'vm_sync.h') diff --git a/vm_sync.h b/vm_sync.h index e9cc274bb8..f601143416 100644 --- a/vm_sync.h +++ b/vm_sync.h @@ -4,6 +4,7 @@ #include "vm_core.h" #include "vm_debug.h" +#include "ractor_pub.h" #if USE_RUBY_DEBUG_LOG #define LOCATION_ARGS const char *file, int line @@ -26,8 +27,6 @@ void rb_vm_barrier(void); void rb_vm_cond_wait(rb_vm_t *vm, rb_nativethread_cond_t *cond); void rb_vm_cond_timedwait(rb_vm_t *vm, rb_nativethread_cond_t *cond, unsigned long msec); -extern bool ruby_multi_ractor; - static inline bool rb_multi_ractor_p(void) { -- cgit v1.2.3