fn restore_return_point(&mut self) {
      let return_point = self.call_stack.pop().unwrap();
      // Remove unnecessary values from the stack (eg. arguments).
      while self.stack.len() > self.stack_bottom {
         self.stack.pop().unwrap();
      }
      // Restore state.
      // SAFETY: Assume the matching chunk is a bytecode chunk.
      self.chunk = unsafe { return_point.chunk.unwrap_unchecked() };
      self.closure = return_point.closure;
      self.pc = return_point.pc;
      self.stack_bottom = return_point.stack_bottom;
   }
/// Restores previous VM state from the return point stack.
Restores previous VM state from the return point stack.
Restores previous VM state from the return point stack .
fn restore_return_point(&mut self) {
      let return_point = self.call_stack.pop().unwrap();
      // Remove unnecessary values from the stack (eg. arguments).
      while self.stack.len() > self.stack_bottom {
         self.stack.pop().unwrap();
      }
      // Restore state.
      // SAFETY: Assume the matching chunk is a bytecode chunk.
      self.chunk = unsafe { return_point.chunk.unwrap_unchecked() };
      self.closure = return_point.closure;
      self.pc = return_point.pc;
      self.stack_bottom = return_point.stack_bottom;
   }
fn restore_return_point ( & mut self ) { let return_point = self . call_stack . pop ( ) . unwrap ( ) ; // Remove unnecessary values from the stack (eg. arguments). while self . stack . len ( ) > self . stack_bottom { self . stack . pop ( ) . unwrap ( ) ; } // Restore state. // SAFETY: Assume the matching chunk is a bytecode chunk. self . chunk = unsafe { return_point . chunk . unwrap_unchecked ( ) } ; self . closure = return_point . closure ; self . pc = return_point . pc ; self . stack_bottom = return_point . stack_bottom ; }
Restores previous VM state from the return point stack.
Restores previous VM state from the return point stack .
&mut self