diff options
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/encoder')
7 files changed, 14 insertions, 15 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go b/vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go index 4584c6d29..330b68817 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go @@ -128,6 +128,7 @@ var ( var ( _X0 = jit.Reg("X0") + _X15 = jit.Reg("X15") _Y0 = jit.Reg("Y0") ) @@ -512,6 +513,7 @@ func (self *_Assembler) call_c(pc obj.Addr) { self.call(pc) // CALL $pc self.xload(_REG_ffi...) // LOAD $REG_ffi self.Emit("XCHGQ", _SP_p, _BX) + self.Emit("XORPS", _X15, _X15) } func (self *_Assembler) call_go(pc obj.Addr) { diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go b/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go index 0a46455eb..d285c2991 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/encoder.go @@ -337,7 +337,7 @@ func Valid(data []byte) (ok bool, start int) { s := rt.Mem2Str(data) p := 0 m := types.NewStateMachine() - ret := native.ValidateOne(&s, &p, m) + ret := native.ValidateOne(&s, &p, m, types.F_VALIDATE_STRING) types.FreeStateMachine(m) if ret < 0 { diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go b/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go index 0f3c40881..94f1c3dc6 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go @@ -23,6 +23,7 @@ import ( `github.com/bytedance/sonic/internal/jit` `github.com/bytedance/sonic/internal/native` + `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` ) @@ -73,15 +74,11 @@ func encodeTypedPointer(buf *[]byte, vt *rt.GoType, vp *unsafe.Pointer, sb *_Sta return err } else if vt.Indirect() { rt.MoreStack(_FP_size + native.MaxFrameSize) - rt.StopProf() err := fn(buf, *vp, sb, fv) - rt.StartProf() return err } else { rt.MoreStack(_FP_size + native.MaxFrameSize) - rt.StopProf() err := fn(buf, unsafe.Pointer(vp), sb, fv) - rt.StartProf() return err } } @@ -123,8 +120,8 @@ func htmlEscape(dst []byte, src []byte) []byte { dbuf := (*rt.GoSlice)(unsafe.Pointer(&dst)) /* grow dst if it is shorter */ - if cap(dst) - len(dst) < len(src) + native.BufPaddingSize { - cap := len(src) * 3 / 2 + native.BufPaddingSize + if cap(dst) - len(dst) < len(src) + types.BufPaddingSize { + cap := len(src) * 3 / 2 + types.BufPaddingSize *dbuf = growslice(typeByte, *dbuf, cap) } diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go index a21b6b4a6..84c186fcf 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go @@ -21,12 +21,12 @@ package encoder import ( `unsafe` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64encode github.com/chenzhuoyu/base64x._subr__b64encode +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode var _subr__b64encode uintptr //go:noescape diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go index 7d934be33..6e56aca00 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go @@ -21,12 +21,12 @@ package encoder import ( `unsafe` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64encode github.com/chenzhuoyu/base64x._subr__b64encode +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode var _subr__b64encode uintptr //go:noescape diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go index ce3c88e9a..2b5e79bb6 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go @@ -21,12 +21,12 @@ package encoder import ( `unsafe` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64encode github.com/chenzhuoyu/base64x._subr__b64encode +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode var _subr__b64encode uintptr //go:noescape diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go index 700ddf8b5..89ae5d210 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go @@ -21,12 +21,12 @@ package encoder import ( `unsafe` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64encode github.com/chenzhuoyu/base64x._subr__b64encode +//go:linkname _subr__b64encode github.com/cloudwego/base64x._subr__b64encode var _subr__b64encode uintptr //go:noescape |