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