@@ -63,13 +63,12 @@ impl<'tcx> std::fmt::Debug for FrameData<'tcx> {
6363 }
6464}
6565
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 ;
6969
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) ;
7372 }
7473}
7574
@@ -261,17 +260,13 @@ pub struct AllocExtra {
261260 pub weak_memory : Option < weak_memory:: AllocExtra > ,
262261}
263262
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 ;
271266
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 ) ;
275270 }
276271}
277272
@@ -615,8 +610,9 @@ impl<'mir, 'tcx> MiriMachine<'mir, 'tcx> {
615610 }
616611}
617612
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]
620616 let MiriMachine {
621617 threads,
622618 tls,
@@ -626,25 +622,52 @@ impl VisitMachineValues for MiriMachine<'_, '_> {
626622 cmd_line,
627623 extern_statics,
628624 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 : _,
630656 } = self ;
631657
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) ;
648671 }
649672 }
650673}
0 commit comments