document trying mechanism

This commit is contained in:
2026-05-03 22:05:54 +08:00
parent 7401f1ba5e
commit 88a205f419
8 changed files with 56 additions and 28 deletions
+2 -2
View File
@@ -17,7 +17,7 @@ impl<'gc> crate::Vm<'gc> {
arg: Value<'gc>,
resume_pc: usize,
) -> Step {
let func = self.try_force::<StrictValue>(reader, mc)?;
let func = self.force_and_retry::<StrictValue>(reader, mc)?;
if self.call_depth > 10000 {
return self.finish_err(Error::eval_error("stack overflow; max-call-depth exceeded"));
}
@@ -118,7 +118,7 @@ impl<'gc> crate::Vm<'gc> {
reader: &mut BytecodeReader<'_>,
mc: &Mutation<'gc>,
) -> Step {
let val = self.try_force::<StrictValue>(reader, mc)?;
let val = self.force_and_retry::<StrictValue>(reader, mc)?;
let Some(CallFrame {
pc: ret_pc,
stack_depth,