diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2020-03-20 06:12:36 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2020-03-20 06:12:36 +0000 |
commit | c01e52eb715c1583f594a1c6e19de249f8e9b439 (patch) | |
tree | a21e6bcf4aef2cce913e1a107787d20a3e4d1e3e /mjit.c | |
parent | 1e4174b45c4b9c3d27ef68e532d58aae22457bbf (diff) |
merge revision(s) adcf0316d1ecedae2a9157ad941550e0c0fb510b: [Backport #16664]
Prevent unloading methods used in root_fiber while calling another
Fiber (#2939)
Fixing SEGVs like:
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744905
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744420
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2741400
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'mjit.c')
-rw-r--r-- | mjit.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -655,6 +655,9 @@ mjit_init(struct mjit_options *opts) rb_native_cond_initialize(&mjit_worker_wakeup); rb_native_cond_initialize(&mjit_gc_wakeup); + /* Make sure root_fiber's saved_ec is scanned by mark_ec_units */ + rb_fiber_init_mjit_cont(GET_EC()->fiber_ptr); + /* Initialize class_serials cache for compilation */ valid_class_serials = rb_hash_new(); rb_obj_hide(valid_class_serials); |