summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/jit
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/jit')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/jit/assembler_amd64.go12
-rw-r--r--vendor/github.com/bytedance/sonic/internal/jit/runtime.go7
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 {