summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/jit
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2023-06-01 22:20:16 +0100
committerLibravatar GitHub <noreply@github.com>2023-06-01 22:20:16 +0100
commit55aacaf4b07c1921061245cbaa3d307e97cf3c29 (patch)
treed969c5d9728566de1e794e19c5b19d3b660f790e /vendor/github.com/bytedance/sonic/internal/jit
parent[chore/frontend] refactor header templating, add apple-touch-icon (#1850) (diff)
downloadgotosocial-55aacaf4b07c1921061245cbaa3d307e97cf3c29.tar.xz
[chore]: Bump github.com/gin-gonic/gin from 1.9.0 to 1.9.1 (#1855)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/jit')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go b/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go
index 00e6009db..d7d1751e5 100644
--- a/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go
+++ b/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go
@@ -72,6 +72,18 @@ func (self *BaseAssembler) NOPn(n int) {
}
}
+func (self *BaseAssembler) StorePtr(ptr int64, to obj.Addr, tmp obj.Addr) {
+ if (to.Type != obj.TYPE_MEM) || (tmp.Type != obj.TYPE_REG) {
+ panic("must store imm to memory, tmp must be register")
+ }
+ if (ptr >> 32) != 0 {
+ self.Emit("MOVQ", Imm(ptr), tmp)
+ self.Emit("MOVQ", tmp, to)
+ } else {
+ self.Emit("MOVQ", Imm(ptr), to);
+ }
+}
+
func (self *BaseAssembler) Byte(v ...byte) {
for ; len(v) >= 8; v = v[8:] { self.From("QUAD", Imm(rt.Get64(v))) }
for ; len(v) >= 4; v = v[4:] { self.From("LONG", Imm(int64(rt.Get32(v)))) }