about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-06-01 15:32:38 +0000
committerGitHub <noreply@github.com>2022-06-01 15:32:38 +0000
commitc42d7b969f519e3a001bef71f198f5b1fba64400 (patch)
tree380fb36783b4684afddbf37eb064ff1cbea3361f
parentc45c0d9f00e56abf51155e984675d7d12500ecfe (diff)
downloadjinx-c42d7b969f519e3a001bef71f198f5b1fba64400.tar.zst
jinx-c42d7b969f519e3a001bef71f198f5b1fba64400.zip
Shift call base only after new call base pushed
-rw-r--r--pkg/lang/vm/exec.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkg/lang/vm/exec.go b/pkg/lang/vm/exec.go
index c8b4fb3..76a2f34 100644
--- a/pkg/lang/vm/exec.go
+++ b/pkg/lang/vm/exec.go
@@ -599,11 +599,11 @@ func (vm *VM) execCall(argCount uint) error {
 		}
 	}
 
-	if err = vm.stack.ShiftTopCallBase(int(argCount)); err != nil {
+	if err = vm.stack.PushCall(fn.Pc(), vm.pc, fn.Env()); err != nil {
 		return err
 	}
 
-	if err = vm.stack.PushCall(fn.Pc(), vm.pc, fn.Env()); err != nil {
+	if err = vm.stack.ShiftTopCallBase(int(argCount)); err != nil {
 		return err
 	}