diff --git a/vm.go b/vm.go index 4e29cb4..af8783f 100644 --- a/vm.go +++ b/vm.go @@ -604,7 +604,9 @@ func (v *VM) run() { v.framesIndex++ v.sp = v.sp - numArgs + callee.NumLocals } else { - ret, e := value.Call(v.stack[v.sp-numArgs : v.sp]...) + var args []Object + args = append(args, v.stack[v.sp-numArgs:v.sp]...) + ret, e := value.Call(args...) v.sp -= numArgs + 1 // runtime error