@@ -63,13 +63,12 @@ impl<'tcx> std::fmt::Debug for FrameData<'tcx> {
63
63
}
64
64
}
65
65
66
- impl VisitMachineValues for FrameData < ' _ > {
67
- fn visit_machine_values ( & self , visit : & mut ProvenanceVisitor ) {
68
- let FrameData { catch_unwind, stacked_borrows : _ , timing : _ } = self ;
66
+ impl VisitTags for FrameData < ' _ > {
67
+ fn visit_tags ( & self , visit : & mut dyn FnMut ( SbTag ) ) {
68
+ let FrameData { catch_unwind, stacked_borrows, timing : _ } = self ;
69
69
70
- if let Some ( catch_unwind) = catch_unwind {
71
- catch_unwind. visit_machine_values ( visit) ;
72
- }
70
+ catch_unwind. visit_tags ( visit) ;
71
+ stacked_borrows. visit_tags ( visit) ;
73
72
}
74
73
}
75
74
@@ -261,17 +260,13 @@ pub struct AllocExtra {
261
260
pub weak_memory : Option < weak_memory:: AllocExtra > ,
262
261
}
263
262
264
- impl VisitMachineValues for AllocExtra {
265
- fn visit_machine_values ( & self , visit : & mut ProvenanceVisitor ) {
266
- let AllocExtra { stacked_borrows, data_race : _, weak_memory } = self ;
267
-
268
- if let Some ( stacked_borrows) = stacked_borrows {
269
- stacked_borrows. borrow ( ) . visit_machine_values ( visit) ;
270
- }
263
+ impl VisitTags for AllocExtra {
264
+ fn visit_tags ( & self , visit : & mut dyn FnMut ( SbTag ) ) {
265
+ let AllocExtra { stacked_borrows, data_race, weak_memory } = self ;
271
266
272
- if let Some ( weak_memory ) = weak_memory {
273
- weak_memory . visit_machine_values ( visit) ;
274
- }
267
+ stacked_borrows . visit_tags ( visit ) ;
268
+ data_race . visit_tags ( visit) ;
269
+ weak_memory . visit_tags ( visit ) ;
275
270
}
276
271
}
277
272
@@ -615,8 +610,9 @@ impl<'mir, 'tcx> MiriMachine<'mir, 'tcx> {
615
610
}
616
611
}
617
612
618
- impl VisitMachineValues for MiriMachine < ' _ , ' _ > {
619
- fn visit_machine_values ( & self , visit : & mut ProvenanceVisitor ) {
613
+ impl VisitTags for MiriMachine < ' _ , ' _ > {
614
+ fn visit_tags ( & self , visit : & mut dyn FnMut ( SbTag ) ) {
615
+ #[ rustfmt:: skip]
620
616
let MiriMachine {
621
617
threads,
622
618
tls,
@@ -626,25 +622,52 @@ impl VisitMachineValues for MiriMachine<'_, '_> {
626
622
cmd_line,
627
623
extern_statics,
628
624
dir_handler,
629
- ..
625
+ stacked_borrows,
626
+ data_race,
627
+ intptrcast,
628
+ file_handler,
629
+ tcx : _,
630
+ isolated_op : _,
631
+ validate : _,
632
+ enforce_abi : _,
633
+ clock : _,
634
+ layouts : _,
635
+ static_roots : _,
636
+ profiler : _,
637
+ string_cache : _,
638
+ exported_symbols_cache : _,
639
+ panic_on_unsupported : _,
640
+ backtrace_style : _,
641
+ local_crates : _,
642
+ rng : _,
643
+ tracked_alloc_ids : _,
644
+ check_alignment : _,
645
+ cmpxchg_weak_failure_rate : _,
646
+ mute_stdout_stderr : _,
647
+ weak_memory : _,
648
+ preemption_rate : _,
649
+ report_progress : _,
650
+ basic_block_count : _,
651
+ #[ cfg( unix) ]
652
+ external_so_lib : _,
653
+ gc_interval : _,
654
+ since_gc : _,
655
+ num_cpus : _,
630
656
} = self ;
631
657
632
- threads. visit_machine_values ( visit) ;
633
- tls. visit_machine_values ( visit) ;
634
- env_vars. visit_machine_values ( visit) ;
635
- dir_handler. visit_machine_values ( visit) ;
636
-
637
- if let Some ( argc) = argc {
638
- visit. visit ( argc) ;
639
- }
640
- if let Some ( argv) = argv {
641
- visit. visit ( argv) ;
642
- }
643
- if let Some ( cmd_line) = cmd_line {
644
- visit. visit ( cmd_line) ;
645
- }
646
- for ptr in extern_statics. values ( ) . copied ( ) {
647
- visit. visit ( ptr) ;
658
+ threads. visit_tags ( visit) ;
659
+ tls. visit_tags ( visit) ;
660
+ env_vars. visit_tags ( visit) ;
661
+ dir_handler. visit_tags ( visit) ;
662
+ file_handler. visit_tags ( visit) ;
663
+ data_race. visit_tags ( visit) ;
664
+ stacked_borrows. visit_tags ( visit) ;
665
+ intptrcast. visit_tags ( visit) ;
666
+ argc. visit_tags ( visit) ;
667
+ argv. visit_tags ( visit) ;
668
+ cmd_line. visit_tags ( visit) ;
669
+ for ptr in extern_statics. values ( ) {
670
+ ptr. visit_tags ( visit) ;
648
671
}
649
672
}
650
673
}
0 commit comments