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.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkg/lang/vm/vm.go b/pkg/lang/vm/vm.go
index 41334a6..e483176 100644
--- a/pkg/lang/vm/vm.go
+++ b/pkg/lang/vm/vm.go
@@ -125,6 +125,11 @@ func (vm *VM) step(op code.Op) (stepDecision, error) {
 		vm.pc += advance
 
 		err = vm.execGetLocal(int(offset))
+	case code.OpSetLocal:
+		offset, advance := vm.code.GetInt(vm.pc)
+		vm.pc += advance
+
+		err = vm.execSetLocal(int(offset))
 	case code.OpGetMember:
 		name, advance := vm.code.GetString(vm.pc)
 		vm.pc += advance
@@ -159,6 +164,8 @@ func (vm *VM) step(op code.Op) (stepDecision, error) {
 		err = vm.execAdd()
 	case code.OpSub:
 		err = vm.execSub()
+	case code.OpMod:
+		err = vm.execMod()
 	case code.OpIndex:
 		err = vm.execIndex()
 	case code.OpLte: