diff options
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/jit')
-rw-r--r-- | vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go | 12 | ||||
-rw-r--r-- | vendor/github.com/bytedance/sonic/internal/jit/runtime.go | 7 |
2 files changed, 1 insertions, 18 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 d7d1751e5..00e6009db 100644 --- a/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go @@ -72,18 +72,6 @@ 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)))) } diff --git a/vendor/github.com/bytedance/sonic/internal/jit/runtime.go b/vendor/github.com/bytedance/sonic/internal/jit/runtime.go index ec69d067a..e4bc829da 100644 --- a/vendor/github.com/bytedance/sonic/internal/jit/runtime.go +++ b/vendor/github.com/bytedance/sonic/internal/jit/runtime.go @@ -24,11 +24,6 @@ import ( `github.com/twitchyliquid64/golang-asm/obj` ) -//go:noescape -//go:linkname getitab runtime.getitab -//goland:noinspection ALL -func getitab(inter *rt.GoType, typ *rt.GoType, canfail bool) *rt.GoItab - func Func(f interface{}) obj.Addr { if p := rt.UnpackEface(f); p.Type.Kind() != reflect.Func { panic("f is not a function") @@ -42,7 +37,7 @@ func Type(t reflect.Type) obj.Addr { } func Itab(i *rt.GoType, t reflect.Type) obj.Addr { - return Imm(int64(uintptr(unsafe.Pointer(getitab(i, rt.UnpackType(t), false))))) + return Imm(int64(uintptr(unsafe.Pointer(rt.Getitab(rt.IfaceType(i), rt.UnpackType(t), false))))) } func Gitab(i *rt.GoItab) obj.Addr { |