diff options
| author | 2023-06-01 22:20:16 +0100 | |
|---|---|---|
| committer | 2023-06-01 22:20:16 +0100 | |
| commit | 55aacaf4b07c1921061245cbaa3d307e97cf3c29 (patch) | |
| tree | d969c5d9728566de1e794e19c5b19d3b660f790e /vendor/github.com/bytedance/sonic/internal/jit | |
| parent | [chore/frontend] refactor header templating, add apple-touch-icon (#1850) (diff) | |
| download | gotosocial-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.go | 12 |
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)))) } |
