diff options
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/decoder')
4 files changed, 6 insertions, 7 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/assembler_regabi_amd64.go b/vendor/github.com/bytedance/sonic/internal/decoder/assembler_regabi_amd64.go index 0defb75a5..6c6fde91a 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/assembler_regabi_amd64.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/assembler_regabi_amd64.go @@ -134,6 +134,7 @@ var ( _R9 = jit.Reg("R9") _X0 = jit.Reg("X0") _X1 = jit.Reg("X1") + _X15 = jit.Reg("X15") ) var ( @@ -421,6 +422,7 @@ func (self *_Assembler) call_go(fn obj.Addr) { func (self *_Assembler) callc(fn obj.Addr) { self.save(_IP) self.call(fn) + self.Emit("XORPS", _X15, _X15) self.load(_IP) } @@ -605,7 +607,6 @@ func (self *_Assembler) skip_one() { self.Emit("TESTQ", _AX, _AX) // TESTQ AX, AX self.Sjmp("JS" , _LB_parsing_error_v) // JS _parse_error_v self.Emit("MOVQ" , _VAR_pc, _R9) // MOVQ pc, R9 - // self.Byte(0xcc) self.Rjmp("JMP" , _R9) // JMP (R9) } diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go b/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go index d6053e2cb..1c9ce1fa9 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/primitives.go @@ -30,9 +30,7 @@ func decodeTypedPointer(s string, i int, vt *rt.GoType, vp unsafe.Pointer, sb *_ return 0, err } else { rt.MoreStack(_FP_size + _VD_size + native.MaxFrameSize) - rt.StopProf() ret, err := fn(s, i, vp, sb, fv, "", nil) - rt.StartProf() return ret, err } } diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go116.go b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go116.go index c6e133d8c..b02eb2b8b 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go116.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go116.go @@ -22,12 +22,12 @@ import ( `unsafe` `reflect` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64decode github.com/chenzhuoyu/base64x._subr__b64decode +//go:linkname _subr__b64decode github.com/cloudwego/base64x._subr__b64decode var _subr__b64decode uintptr // runtime.maxElementSize diff --git a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go index 73960ea14..870e25390 100644 --- a/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go +++ b/vendor/github.com/bytedance/sonic/internal/decoder/stubs_go120.go @@ -22,12 +22,12 @@ import ( `unsafe` `reflect` - _ `github.com/chenzhuoyu/base64x` + _ `github.com/cloudwego/base64x` `github.com/bytedance/sonic/internal/rt` ) -//go:linkname _subr__b64decode github.com/chenzhuoyu/base64x._subr__b64decode +//go:linkname _subr__b64decode github.com/cloudwego/base64x._subr__b64decode var _subr__b64decode uintptr // runtime.maxElementSize |