about summary refs log tree commit diff
path: root/pkg/lang/vm/vm.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/lang/vm/vm.go')
-rw-r--r--pkg/lang/vm/vm.go10
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)