pub fn save_current_vm_as_snapshot(&mut self) {
        self.snapshots.push(VmSnapshot {
            // Vm local state contains O(1) various parameters (registers/etc).
            // The only "expensive" copying here is copying of the call stack.
            // It will take `O(callstack_depth)` to copy it.
            // So it is generally recommended to get snapshots of the bootloader frame,
            // where the depth is 1.
            local_state: self.state.local_state.clone(),
            bootloader_state: self.bootloader_state.clone(),
        });
    }
Saves the snapshot of the current state of the VM that can be used
to roll back its state later on.
core/lib/multivm/src/versions/vm_1_3_2/vm_instance.rs