summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2023-11-27 13:15:03 +0000
committerLibravatar GitHub <noreply@github.com>2023-11-27 13:15:03 +0000
commit66b77acb1c8b86f0be3836ccaf31683c0bfa317a (patch)
tree9a255a8ea8ef97229b6d75d17de45bdac1755be9 /vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go
parent[bugfix] Add Actor to outgoing poll vote Create; other fixes (#2384) (diff)
downloadgotosocial-66b77acb1c8b86f0be3836ccaf31683c0bfa317a.tar.xz
[chore]: Bump github.com/gin-contrib/cors from 1.4.0 to 1.5.0 (#2388)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go213
1 files changed, 112 insertions, 101 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go b/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go
index 11e517231..41441f513 100644
--- a/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go
+++ b/vendor/github.com/bytedance/sonic/internal/native/dispatch_amd64.go
@@ -24,6 +24,8 @@ import (
`github.com/bytedance/sonic/internal/native/avx2`
`github.com/bytedance/sonic/internal/native/sse`
`github.com/bytedance/sonic/internal/native/types`
+ `github.com/bytedance/sonic/internal/rt`
+ `github.com/bytedance/sonic/loader`
)
const (
@@ -40,8 +42,9 @@ var (
)
var (
- S_quote uintptr
- S_unquote uintptr
+ S_quote uintptr
+ S_unquote uintptr
+ S_html_escape uintptr
)
var (
@@ -53,140 +56,148 @@ var (
)
var (
- S_skip_one uintptr
- S_skip_one_fast uintptr
- S_get_by_path uintptr
- S_skip_array uintptr
- S_skip_object uintptr
- S_skip_number uintptr
+ S_skip_one uintptr
+ S_skip_one_fast uintptr
+ S_get_by_path uintptr
+ S_skip_array uintptr
+ S_skip_object uintptr
+ S_skip_number uintptr
+)
+
+var (
+ S_validate_one uintptr
+ S_validate_utf8 uintptr
+ S_validate_utf8_fast uintptr
+)
+
+var (
+ __Quote func(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer, flags uint64) int
+
+ __Unquote func(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep unsafe.Pointer, flags uint64) int
+
+ __HTMLEscape func(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn unsafe.Pointer) int
+
+ __Value func(s unsafe.Pointer, n int, p int, v unsafe.Pointer, flags uint64) int
+
+ __SkipOne func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer, flags uint64) int
+
+ __SkipOneFast func(s unsafe.Pointer, p unsafe.Pointer) int
+
+ __GetByPath func(s unsafe.Pointer, p unsafe.Pointer, path unsafe.Pointer, m unsafe.Pointer) int
+
+ __ValidateOne func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) int
+
+ __I64toa func(out unsafe.Pointer, val int64) (ret int)
+
+ __U64toa func(out unsafe.Pointer, val uint64) (ret int)
+
+ __F64toa func(out unsafe.Pointer, val float64) (ret int)
+
+ __ValidateUTF8 func(s unsafe.Pointer, p unsafe.Pointer, m unsafe.Pointer) (ret int)
+
+ __ValidateUTF8Fast func(s unsafe.Pointer) (ret int)
)
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func Quote(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) int
+func Quote(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int, flags uint64) int {
+ return __Quote(rt.NoEscape(unsafe.Pointer(s)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(dn)), flags)
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func Unquote(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) int
+func Unquote(s unsafe.Pointer, nb int, dp unsafe.Pointer, ep *int, flags uint64) int {
+ return __Unquote(rt.NoEscape(unsafe.Pointer(s)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(ep)), flags)
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func HTMLEscape(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) int
+func HTMLEscape(s unsafe.Pointer, nb int, dp unsafe.Pointer, dn *int) int {
+ return __HTMLEscape(rt.NoEscape(unsafe.Pointer(s)), nb, rt.NoEscape(unsafe.Pointer(dp)), rt.NoEscape(unsafe.Pointer(dn)))
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func Value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) int
+func Value(s unsafe.Pointer, n int, p int, v *types.JsonState, flags uint64) int {
+ return __Value(rt.NoEscape(unsafe.Pointer(s)), n, p, rt.NoEscape(unsafe.Pointer(v)), flags)
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func SkipOne(s *string, p *int, m *types.StateMachine, flags uint64) int
+func SkipOne(s *string, p *int, m *types.StateMachine, flags uint64) int {
+ return __SkipOne(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)), flags)
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func SkipOneFast(s *string, p *int) int
+func SkipOneFast(s *string, p *int) int {
+ return __SkipOneFast(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)))
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func GetByPath(s *string, p *int, path *[]interface{}, m *types.StateMachine) int
+func GetByPath(s *string, p *int, path *[]interface{}, m *types.StateMachine) int {
+ return __GetByPath(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(path)), rt.NoEscape(unsafe.Pointer(m)))
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func ValidateOne(s *string, p *int, m *types.StateMachine) int
+func ValidateOne(s *string, p *int, m *types.StateMachine) int {
+ return __ValidateOne(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)))
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func I64toa(out *byte, val int64) (ret int)
+func I64toa(out *byte, val int64) (ret int) {
+ return __I64toa(rt.NoEscape(unsafe.Pointer(out)), val)
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func U64toa(out *byte, val uint64) (ret int)
+func U64toa(out *byte, val uint64) (ret int) {
+ return __U64toa(rt.NoEscape(unsafe.Pointer(out)), val)
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func F64toa(out *byte, val float64) (ret int)
+func F64toa(out *byte, val float64) (ret int) {
+ return __F64toa(rt.NoEscape(unsafe.Pointer(out)), val)
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func ValidateUTF8(s *string, p *int, m *types.StateMachine) (ret int)
+func ValidateUTF8(s *string, p *int, m *types.StateMachine) (ret int) {
+ return __ValidateUTF8(rt.NoEscape(unsafe.Pointer(s)), rt.NoEscape(unsafe.Pointer(p)), rt.NoEscape(unsafe.Pointer(m)))
+}
//go:nosplit
-//go:noescape
-//goland:noinspection GoUnusedParameter
-func ValidateUTF8Fast(s *string) (ret int)
+func ValidateUTF8Fast(s *string) (ret int) {
+ return __ValidateUTF8Fast(rt.NoEscape(unsafe.Pointer(s)))
+}
+
+var stubs = []loader.GoC{
+ {"_f64toa", &S_f64toa, &__F64toa},
+ {"_f32toa", &S_f32toa, nil},
+ {"_i64toa", &S_i64toa, &__I64toa},
+ {"_u64toa", &S_u64toa, &__U64toa},
+ {"_lspace", &S_lspace, nil},
+ {"_quote", &S_quote, &__Quote},
+ {"_unquote", &S_unquote, &__Unquote},
+ {"_html_escape", &S_html_escape, &__HTMLEscape},
+ {"_value", &S_value, &__Value},
+ {"_vstring", &S_vstring, nil},
+ {"_vnumber", &S_vnumber, nil},
+ {"_vsigned", &S_vsigned, nil},
+ {"_vunsigned", &S_vunsigned, nil},
+ {"_skip_one", &S_skip_one, &__SkipOne},
+ {"_skip_one_fast", &S_skip_one_fast, &__SkipOneFast},
+ {"_get_by_path", &S_get_by_path, &__GetByPath},
+ {"_skip_array", &S_skip_array, nil},
+ {"_skip_object", &S_skip_object, nil},
+ {"_skip_number", &S_skip_number, nil},
+ {"_validate_one", &S_validate_one, &__ValidateOne},
+ {"_validate_utf8", &S_validate_utf8, &__ValidateUTF8},
+ {"_validate_utf8_fast", &S_validate_utf8_fast, &__ValidateUTF8Fast},
+}
func useAVX() {
- S_f64toa = avx.S_f64toa
- S_f32toa = avx.S_f32toa
- S_i64toa = avx.S_i64toa
- S_u64toa = avx.S_u64toa
- S_lspace = avx.S_lspace
- S_quote = avx.S_quote
- S_unquote = avx.S_unquote
- S_value = avx.S_value
- S_vstring = avx.S_vstring
- S_vnumber = avx.S_vnumber
- S_vsigned = avx.S_vsigned
- S_vunsigned = avx.S_vunsigned
- S_skip_one = avx.S_skip_one
- S_skip_one_fast = avx.S_skip_one_fast
- S_skip_array = avx.S_skip_array
- S_skip_object = avx.S_skip_object
- S_skip_number = avx.S_skip_number
- S_get_by_path = avx.S_get_by_path
+ loader.WrapGoC(avx.Text__native_entry__, avx.Funcs, stubs, "avx", "avx/native.c")
}
func useAVX2() {
- S_f64toa = avx2.S_f64toa
- S_f32toa = avx2.S_f32toa
- S_i64toa = avx2.S_i64toa
- S_u64toa = avx2.S_u64toa
- S_lspace = avx2.S_lspace
- S_quote = avx2.S_quote
- S_unquote = avx2.S_unquote
- S_value = avx2.S_value
- S_vstring = avx2.S_vstring
- S_vnumber = avx2.S_vnumber
- S_vsigned = avx2.S_vsigned
- S_vunsigned = avx2.S_vunsigned
- S_skip_one = avx2.S_skip_one
- S_skip_one_fast = avx2.S_skip_one_fast
- S_skip_array = avx2.S_skip_array
- S_skip_object = avx2.S_skip_object
- S_skip_number = avx2.S_skip_number
- S_get_by_path = avx2.S_get_by_path
+ loader.WrapGoC(avx2.Text__native_entry__, avx2.Funcs, stubs, "avx2", "avx2/native.c")
}
func useSSE() {
- S_f64toa = sse.S_f64toa
- S_f32toa = sse.S_f32toa
- S_i64toa = sse.S_i64toa
- S_u64toa = sse.S_u64toa
- S_lspace = sse.S_lspace
- S_quote = sse.S_quote
- S_unquote = sse.S_unquote
- S_value = sse.S_value
- S_vstring = sse.S_vstring
- S_vnumber = sse.S_vnumber
- S_vsigned = sse.S_vsigned
- S_vunsigned = sse.S_vunsigned
- S_skip_one = sse.S_skip_one
- S_skip_one_fast = sse.S_skip_one_fast
- S_skip_array = sse.S_skip_array
- S_skip_object = sse.S_skip_object
- S_skip_number = sse.S_skip_number
- S_get_by_path = sse.S_get_by_path
+ loader.WrapGoC(sse.Text__native_entry__, sse.Funcs, stubs, "sse", "sse/native.c")
}
func init() {