[前][次][番号順一覧][スレッド一覧]

ruby-changes:56889

From: Yusuke <ko1@a...>
Date: Fri, 9 Aug 2019 17:35:22 +0900 (JST)
Subject: [ruby-changes:56889] Yusuke Endoh: ef64ab917e (master): gc.c: Increase STACKFRAME_FOR_CALL_CFUNC

https://git.ruby-lang.org/ruby.git/commit/?id=ef64ab917e

From ef64ab917eec02491f6bf7233a4031a8c35385e3 Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Fri, 9 Aug 2019 17:31:19 +0900
Subject: gc.c: Increase STACKFRAME_FOR_CALL_CFUNC

On macOS Mojave, the child process invoked in TestFiber#test_stack_size
gets stuck because the stack overflow detection is too late.
(ko1 figured out the mechanism of the failure.)

This change attempts to detect stack overflow earlier.

diff --git a/gc.c b/gc.c
index dbf19e0..62c5c79 100644
--- a/gc.c
+++ b/gc.c
@@ -4450,7 +4450,7 @@ stack_check(rb_execution_context_t *ec, int water_mark) https://github.com/ruby/ruby/blob/trunk/gc.c#L4450
 #define stack_check(ec, water_mark) FALSE
 #endif
 
-#define STACKFRAME_FOR_CALL_CFUNC 838
+#define STACKFRAME_FOR_CALL_CFUNC 1024
 
 MJIT_FUNC_EXPORTED int
 rb_ec_stack_check(rb_execution_context_t *ec)
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]