1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

sync vm->constant_cache

On multi-ractors, `vm->constant_cache` (and so on) can be accessed
in parallel so we need to synchronize the accesses to them.

http://rubyci.s3.amazonaws.com/centos7/ruby-master/log/20220407T213003Z.log.html.gz#btest
This commit is contained in:
Koichi Sasada 2022-04-08 12:29:02 +09:00
parent 9ca3d537b9
commit 798e21637f
Notes: git 2022-04-08 13:31:49 +09:00

View file

@ -4963,7 +4963,12 @@ static void
vm_ic_compile(rb_control_frame_t *cfp, IC ic)
{
const rb_iseq_t *iseq = cfp->iseq;
rb_iseq_each(iseq, cfp->pc - ISEQ_BODY(iseq)->iseq_encoded, vm_ic_compile_i, (void *) ic);
RB_VM_LOCK_ENTER();
{
rb_iseq_each(iseq, cfp->pc - ISEQ_BODY(iseq)->iseq_encoded, vm_ic_compile_i, (void *) ic);
}
RB_VM_LOCK_LEAVE();
}
// For MJIT inlining