@@ -1463,12 +1463,6 @@ rb_gc_impl_checking_shareable(void *objspace_ptr)
14631463 return objspace -> flags .check_shareable ;
14641464}
14651465
1466- bool
1467- rb_gc_checking_shareable (void )
1468- {
1469- return rb_gc_impl_checking_shareable (rb_gc_get_objspace ());
1470- }
1471-
14721466bool
14731467rb_gc_impl_gc_enabled_p (void * objspace_ptr )
14741468{
@@ -4981,11 +4975,11 @@ check_shareable_i(const VALUE child, void *ptr)
49814975{
49824976 struct verify_internal_consistency_struct * data = (struct verify_internal_consistency_struct * )ptr ;
49834977
4984- if (!RB_OBJ_SHAREABLE_P (child )) {
4978+ if (!rb_gc_obj_shareable_p (child )) {
49854979 fprintf (stderr , "(a) " );
4986- rp (data -> parent );
4980+ rb_gc_rp (data -> parent );
49874981 fprintf (stderr , "(b) " );
4988- rp (child );
4982+ rb_gc_rp (child );
49894983 fprintf (stderr , "check_shareable_i: shareable (a) -> unshareable (b)\n" );
49904984
49914985 data -> err_count ++ ;
@@ -4999,11 +4993,14 @@ gc_verify_shareable(rb_objspace_t *objspace, VALUE obj, void *data)
49994993 // while objspace->flags.check_shareable is true,
50004994 // other Ractors should not run the GC, until the flag is not local.
50014995 // TODO: remove VM locking if the flag is Ractor local
5002- RB_VM_LOCKING () {
4996+
4997+ unsigned int lev = RB_GC_VM_LOCK ();
4998+ {
50034999 objspace -> flags .check_shareable = true;
50045000 rb_objspace_reachable_objects_from (obj , check_shareable_i , (void * )data );
50055001 objspace -> flags .check_shareable = false;
50065002 }
5003+ RB_GC_VM_UNLOCK (lev );
50075004}
50085005
50095006// TODO: only one level (non-recursive)
@@ -5053,7 +5050,7 @@ verify_internal_consistency_i(void *page_start, void *page_end, size_t stride,
50535050 rb_objspace_reachable_objects_from (obj , check_generation_i , (void * )data );
50545051 }
50555052
5056- if (!is_marking (objspace ) && RB_OBJ_SHAREABLE_P (obj )) {
5053+ if (!is_marking (objspace ) && rb_gc_obj_shareable_p (obj )) {
50575054 gc_verify_shareable (objspace , obj , data );
50585055 }
50595056
0 commit comments