diff options
| author | Mel <einebeere@gmail.com> | 2022-05-30 02:02:53 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-30 02:02:53 +0000 |
| commit | 78a29c41098db5e5f8291e0345a3cd443c52b329 (patch) | |
| tree | be8b3f1bba2491531e5be30165a6fc9b2a423fdc /pkg/lang/vm/vm.go | |
| parent | d2f69dccb3643834a79da79be4ece189a7178c9e (diff) | |
| download | jinx-78a29c41098db5e5f8291e0345a3cd443c52b329.tar.zst jinx-78a29c41098db5e5f8291e0345a3cd443c52b329.zip | |
Specify arg count on VM Functions
Diffstat (limited to 'pkg/lang/vm/vm.go')
| -rw-r--r-- | pkg/lang/vm/vm.go | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/pkg/lang/vm/vm.go b/pkg/lang/vm/vm.go index d4a1366..2377d89 100644 --- a/pkg/lang/vm/vm.go +++ b/pkg/lang/vm/vm.go @@ -106,11 +106,6 @@ func (vm *VM) step(op code.Op) (stepDecision, error) { case code.OpPushObject: panic("not implemented") - case code.OpShift: - by, advance := vm.code.GetInt(vm.pc) - vm.pc += advance - - err = vm.stack.ShiftTopCallBase(int(by)) case code.OpDrop: _, err = vm.stack.Pop() @@ -152,7 +147,10 @@ func (vm *VM) step(op code.Op) (stepDecision, error) { case code.OpLte: err = vm.execLte() case code.OpCall: - err = vm.execCall() + argCount, advance := vm.code.GetUint(vm.pc) + vm.pc += advance + + err = vm.execCall(uint(argCount)) case code.OpJmp: pc, _ := vm.code.GetUint(vm.pc) |
