@@ -477,21 +477,25 @@ impl<'mir, 'tcx> Machine<'mir, 'tcx> for Evaluator<'tcx> {
477
477
}
478
478
479
479
#[ inline( always) ]
480
- fn stack_push ( ecx : & mut InterpCx < ' mir , ' tcx , Self > ) -> InterpResult < ' tcx , FrameData < ' tcx > > {
480
+ fn init_frame_extra (
481
+ ecx : & mut InterpCx < ' mir , ' tcx , Self > ,
482
+ frame : Frame < ' mir , ' tcx , Tag > ,
483
+ ) -> InterpResult < ' tcx , Frame < ' mir , ' tcx , Tag , FrameData < ' tcx > > > {
481
484
let stacked_borrows = ecx. memory . extra . stacked_borrows . as_ref ( ) ;
482
485
let call_id = stacked_borrows. map_or ( NonZeroU64 :: new ( 1 ) . unwrap ( ) , |stacked_borrows| {
483
486
stacked_borrows. borrow_mut ( ) . new_call ( )
484
487
} ) ;
485
- Ok ( FrameData { call_id, catch_unwind : None } )
488
+ let extra = FrameData { call_id, catch_unwind : None } ;
489
+ Ok ( frame. with_extra ( extra) )
486
490
}
487
491
488
492
#[ inline( always) ]
489
- fn stack_pop (
493
+ fn after_stack_pop (
490
494
ecx : & mut InterpCx < ' mir , ' tcx , Self > ,
491
- extra : FrameData < ' tcx > ,
495
+ frame : Frame < ' mir , ' tcx , Tag , FrameData < ' tcx > > ,
492
496
unwinding : bool ,
493
497
) -> InterpResult < ' tcx , StackPopJump > {
494
- ecx. handle_stack_pop ( extra, unwinding)
498
+ ecx. handle_stack_pop ( frame . extra , unwinding)
495
499
}
496
500
497
501
#[ inline( always) ]
0 commit comments