separate rb_ractor_pub from rb_ractor_t

separate some fields from rb_ractor_t to rb_ractor_pub and put it
at the beggining of rb_ractor_t and declare it in vm_core.h so
vm_core.h can access rb_ractor_pub fields.

Now rb_ec_ractor_hooks() is a complete inline function and no
MJIT related issue.
This commit is contained in:
Koichi Sasada 2020-12-20 01:44:41 +09:00
parent a2950369bd
commit 02d9524cda
Notes: git 2020-12-22 00:03:34 +09:00
9 changed files with 62 additions and 67 deletions

View file

@ -49,7 +49,7 @@ vm_lock_enter(rb_ractor_t *cr, rb_vm_t *vm, bool locked, bool no_barrier, unsign
else {
#if RACTOR_CHECK_MODE
// locking ractor and acquire VM lock will cause deadlock
VM_ASSERT(cr->sync.locked_by != cr->self);
VM_ASSERT(cr->sync.locked_by != rb_ractor_self(cr));
#endif
// lock