Use RB_VM_LOCKING

This commit is contained in:
Nobuyoshi Nakada 2025-05-23 20:14:20 +09:00
parent fc518fe1ff
commit aad9fa2853
No known key found for this signature in database
GPG key ID: 3582D74E1FEE4465
Notes: git 2025-05-26 02:44:06 +00:00
18 changed files with 206 additions and 328 deletions

View file

@ -446,8 +446,7 @@ push_subclass_entry_to_list(VALUE super, VALUE klass, bool is_module)
entry = ZALLOC(rb_subclass_entry_t);
entry->klass = klass;
RB_VM_LOCK_ENTER();
{
RB_VM_LOCKING() {
anchor = RCLASS_WRITABLE_SUBCLASSES(super);
VM_ASSERT(anchor);
ns_subclasses = (rb_ns_subclasses_t *)anchor->ns_subclasses;
@ -464,7 +463,6 @@ push_subclass_entry_to_list(VALUE super, VALUE klass, bool is_module)
entry->prev = head;
st_insert(tbl, namespace_subclasses_tbl_key(ns), (st_data_t)entry);
}
RB_VM_LOCK_LEAVE();
if (is_module) {
RCLASS_WRITE_NS_MODULE_SUBCLASSES(klass, anchor->ns_subclasses);