summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/d5/tengo/compiler/instructions.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2020-01-09 21:52:19 +0100
committerGitHub <noreply@github.com>2020-01-09 21:52:19 +0100
commit9d84d6dd643c4017074e81465671cd9b25f9539a (patch)
tree8a767f91d655a6cf21d476e4fb7aa6fd8a952df8 /vendor/github.com/d5/tengo/compiler/instructions.go
parent0f708daf2d14dcca261ef98cc698a1b1f2a6aa74 (diff)
downloadmatterbridge-msglm-9d84d6dd643c4017074e81465671cd9b25f9539a.tar.gz
matterbridge-msglm-9d84d6dd643c4017074e81465671cd9b25f9539a.tar.bz2
matterbridge-msglm-9d84d6dd643c4017074e81465671cd9b25f9539a.zip
Update to tengo v2 (#976)
Diffstat (limited to 'vendor/github.com/d5/tengo/compiler/instructions.go')
-rw-r--r--vendor/github.com/d5/tengo/compiler/instructions.go72
1 files changed, 0 insertions, 72 deletions
diff --git a/vendor/github.com/d5/tengo/compiler/instructions.go b/vendor/github.com/d5/tengo/compiler/instructions.go
deleted file mode 100644
index 14dde1d8..00000000
--- a/vendor/github.com/d5/tengo/compiler/instructions.go
+++ /dev/null
@@ -1,72 +0,0 @@
-package compiler
-
-import (
- "fmt"
-)
-
-// MakeInstruction returns a bytecode for an opcode and the operands.
-func MakeInstruction(opcode Opcode, operands ...int) []byte {
- numOperands := OpcodeOperands[opcode]
-
- totalLen := 1
- for _, w := range numOperands {
- totalLen += w
- }
-
- instruction := make([]byte, totalLen)
- instruction[0] = byte(opcode)
-
- offset := 1
- for i, o := range operands {
- width := numOperands[i]
- switch width {
- case 1:
- instruction[offset] = byte(o)
- case 2:
- n := uint16(o)
- instruction[offset] = byte(n >> 8)
- instruction[offset+1] = byte(n)
- }
- offset += width
- }
-
- return instruction
-}
-
-// FormatInstructions returns string representation of
-// bytecode instructions.
-func FormatInstructions(b []byte, posOffset int) []string {
- var out []string
-
- i := 0
- for i < len(b) {
- numOperands := OpcodeOperands[Opcode(b[i])]
- operands, read := ReadOperands(numOperands, b[i+1:])
-
- switch len(numOperands) {
- case 0:
- out = append(out, fmt.Sprintf("%04d %-7s", posOffset+i, OpcodeNames[Opcode(b[i])]))
- case 1:
- out = append(out, fmt.Sprintf("%04d %-7s %-5d", posOffset+i, OpcodeNames[Opcode(b[i])], operands[0]))
- case 2:
- out = append(out, fmt.Sprintf("%04d %-7s %-5d %-5d", posOffset+i, OpcodeNames[Opcode(b[i])], operands[0], operands[1]))
- }
-
- i += 1 + read
- }
-
- return out
-}
-
-func iterateInstructions(b []byte, fn func(pos int, opcode Opcode, operands []int) bool) {
- for i := 0; i < len(b); i++ {
- numOperands := OpcodeOperands[Opcode(b[i])]
- operands, read := ReadOperands(numOperands, b[i+1:])
-
- if !fn(i, b[i], operands) {
- break
- }
-
- i += read
- }
-}