summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2021-11-24 12:03:46 +0900
committernagachika <nagachika@ruby-lang.org>2021-11-24 12:03:46 +0900
commit7b3948750e1b1dd8cb271c0a7377b911bb3b8f1b (patch)
treeb07091327cf0ca7a163a38d9c47932be32592b71 /vm_core.h
parent949af69408e44b69cc7437b58e8edbe3cd77c966 (diff)
merge revision(s) e1b03b0c2b2449a7794f4701bab8b2382eb15116,007e439fe965871c73127928f7244ebb96a86e58:
Enable VM_ASSERT in --jit CIs (#4543) --- .github/workflows/mjit.yml | 2 +- ractor.c | 6 +++--- vm_core.h | 6 +++--- vm_method.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) Do not expect ec on rb_vm_bugreport because a SEGV might happen on an MJIT worker. As you can clearly see from `if (vm && ec) {`, ec is not guaranteed to exist here. --- vm_dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/vm_core.h b/vm_core.h
index edf6da1076..6ab3608edd 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -1760,7 +1760,7 @@ RUBY_SYMBOL_EXPORT_END
#define GET_VM() rb_current_vm()
#define GET_RACTOR() rb_current_ractor()
#define GET_THREAD() rb_current_thread()
-#define GET_EC() rb_current_execution_context()
+#define GET_EC() rb_current_execution_context(true)
static inline rb_thread_t *
rb_ec_thread_ptr(const rb_execution_context_t *ec)
@@ -1794,7 +1794,7 @@ rb_ec_vm_ptr(const rb_execution_context_t *ec)
}
static inline rb_execution_context_t *
-rb_current_execution_context(void)
+rb_current_execution_context(bool expect_ec)
{
#ifdef RB_THREAD_LOCAL_SPECIFIER
#if __APPLE__
@@ -1805,7 +1805,7 @@ rb_current_execution_context(void)
#else
rb_execution_context_t *ec = native_tls_get(ruby_current_ec_key);
#endif
- VM_ASSERT(ec != NULL);
+ VM_ASSERT(!expect_ec || ec != NULL);
return ec;
}