diff options
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/jit')
| -rw-r--r-- | vendor/github.com/bytedance/sonic/internal/jit/arch_amd64.go | 13 | ||||
| -rw-r--r-- | vendor/github.com/bytedance/sonic/internal/jit/backend.go | 7 |
2 files changed, 13 insertions, 7 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/jit/arch_amd64.go b/vendor/github.com/bytedance/sonic/internal/jit/arch_amd64.go index 7405052d6..1098a096c 100644 --- a/vendor/github.com/bytedance/sonic/internal/jit/arch_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/jit/arch_amd64.go @@ -17,8 +17,10 @@ package jit import ( - `github.com/twitchyliquid64/golang-asm/asm/arch` - `github.com/twitchyliquid64/golang-asm/obj` + "unsafe" + + "github.com/twitchyliquid64/golang-asm/asm/arch" + "github.com/twitchyliquid64/golang-asm/obj" ) var ( @@ -33,6 +35,13 @@ func As(op string) obj.As { } } +func ImmPtr(imm unsafe.Pointer) obj.Addr { + return obj.Addr { + Type : obj.TYPE_CONST, + Offset : int64(uintptr(imm)), + } +} + func Imm(imm int64) obj.Addr { return obj.Addr { Type : obj.TYPE_CONST, diff --git a/vendor/github.com/bytedance/sonic/internal/jit/backend.go b/vendor/github.com/bytedance/sonic/internal/jit/backend.go index 75e180415..25569c470 100644 --- a/vendor/github.com/bytedance/sonic/internal/jit/backend.go +++ b/vendor/github.com/bytedance/sonic/internal/jit/backend.go @@ -21,6 +21,7 @@ import ( `sync` _ `unsafe` + `github.com/bytedance/sonic/internal/rt` `github.com/twitchyliquid64/golang-asm/asm/arch` `github.com/twitchyliquid64/golang-asm/obj` `github.com/twitchyliquid64/golang-asm/objabi` @@ -38,10 +39,6 @@ var ( _progPool sync.Pool ) -//go:nosplit -//go:linkname throw runtime.throw -func throw(_ string) - func newProg() *obj.Prog { if val := _progPool.Get(); val == nil { return new(obj.Prog) @@ -71,7 +68,7 @@ func newLinkContext(arch *obj.LinkArch) (ret *obj.Link) { } func diagLinkContext(str string, args ...interface{}) { - throw(fmt.Sprintf(str, args...)) + rt.Throw(fmt.Sprintf(str, args...)) } func (self *Backend) New() (ret *obj.Prog) { |
