@@ -5,7 +5,7 @@ use crate::{upcalls, Ruby, RubySlot};
5
5
use mmtk:: scheduler:: { GCWork , GCWorker , WorkBucketStage } ;
6
6
use mmtk:: util:: { ObjectReference , VMWorkerThread } ;
7
7
use mmtk:: vm:: { ObjectTracer , RootsWorkFactory , Scanning , SlotVisitor } ;
8
- use mmtk:: { Mutator , MutatorContext } ;
8
+ use mmtk:: Mutator ;
9
9
10
10
pub struct VMScanning { }
11
11
@@ -67,14 +67,13 @@ impl Scanning<Ruby> for VMScanning {
67
67
}
68
68
69
69
fn scan_roots_in_mutator_thread (
70
- tls : VMWorkerThread ,
71
- mutator : & ' static mut Mutator < Ruby > ,
72
- mut factory : impl RootsWorkFactory < RubySlot > ,
70
+ _tls : VMWorkerThread ,
71
+ _mutator : & ' static mut Mutator < Ruby > ,
72
+ mut _factory : impl RootsWorkFactory < RubySlot > ,
73
73
) {
74
- let gc_tls = unsafe { GCThreadTLS :: from_vwt_check ( tls) } ;
75
- Self :: collect_object_roots_in ( "scan_thread_root" , gc_tls, & mut factory, || {
76
- ( upcalls ( ) . scan_roots_in_mutator_thread ) ( mutator. get_tls ( ) , tls) ;
77
- } ) ;
74
+ // Do nothing. All stacks (including Ruby stacks and machine stacks) are reachable from
75
+ // `rb_vm_t` -> ractor -> thread -> fiber -> stacks. It is part of `ScanGCRoots` which
76
+ // calls `rb_gc_mark_roots` -> `rb_vm_mark`.
78
77
}
79
78
80
79
fn scan_vm_specific_roots ( tls : VMWorkerThread , factory : impl RootsWorkFactory < RubySlot > ) {
0 commit comments