about summary refs log tree commit diff
path: root/pkg/lang/vm/vm.go
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-06-02 00:07:20 +0000
committerGitHub <noreply@github.com>2022-06-02 00:07:20 +0000
commit87d115da565618b2f2f1cbbdcca883bbc0c57e60 (patch)
treeb962cfd3ba765277e25b67fa2ec39576a1d1f589 /pkg/lang/vm/vm.go
parentedca72c160967f1918b65c91a40de89ecd8badda (diff)
downloadjinx-87d115da565618b2f2f1cbbdcca883bbc0c57e60.tar.zst
jinx-87d115da565618b2f2f1cbbdcca883bbc0c57e60.zip
OpMod and OpSetLocal for prime test
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: