summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/encoder
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/encoder')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/assembler_regabi_amd64.go2
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/encoder.go2
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/primitives.go9
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/stubs_go116.go4
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/stubs_go117.go4
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/stubs_go120.go4
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/stubs_go121.go4
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