[chore] update dependencies (#4495)
- github.com/coreos/go-oidc/v3: v3.15.0 -> v3.16.0 - github.com/go-playground/form/v4: v4.2.1 -> v4.3.0 - github.com/go-swagger/go-swagger: v0.32.3 -> v0.33.1 - golang.org/x/crypto: v0.42.0 -> v0.43.0 - golang.org/x/image: v0.31.0 -> v0.32.0 - golang.org/x/net: v0.45.0 -> v0.46.0 - golang.org/x/oauth2: v0.31.0 -> v0.32.0 - golang.org/x/sys: v0.36.0 -> v0.37.0 - golang.org/x/text: v0.29.0 -> v0.30.0 - modernc.org/sqlite: v1.39.0 -> v1.39.1 (w/ concurrency workaround) Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4495 Co-authored-by: kim <grufwub@gmail.com> Co-committed-by: kim <grufwub@gmail.com>
This commit is contained in:
@@ -6,7 +6,7 @@ go 1.24.6
|
||||
replace github.com/go-swagger/go-swagger => codeberg.org/superseriousbusiness/go-swagger v0.32.3-gts-go1.23-fix
|
||||
|
||||
// Replace modernc/sqlite with our version that fixes the concurrency INTERRUPT issue
|
||||
replace modernc.org/sqlite => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.39.0-concurrency-workaround
|
||||
replace modernc.org/sqlite => gitlab.com/NyaaaWhatsUpDoc/sqlite v1.39.1-concurrency-workaround
|
||||
|
||||
require (
|
||||
code.superseriousbusiness.org/activity v1.17.0
|
||||
@@ -36,13 +36,13 @@ require (
|
||||
github.com/KimMachineGun/automemlimit v0.7.4
|
||||
github.com/SherClockHolmes/webpush-go v1.4.0
|
||||
github.com/buckket/go-blurhash v1.1.0
|
||||
github.com/coreos/go-oidc/v3 v3.15.0
|
||||
github.com/coreos/go-oidc/v3 v3.16.0
|
||||
github.com/gin-contrib/cors v1.7.6
|
||||
github.com/gin-contrib/gzip v1.2.3
|
||||
github.com/gin-contrib/sessions v1.0.4
|
||||
github.com/gin-gonic/gin v1.10.1
|
||||
github.com/go-playground/form/v4 v4.2.1
|
||||
github.com/go-swagger/go-swagger v0.32.3
|
||||
github.com/go-playground/form/v4 v4.3.0
|
||||
github.com/go-swagger/go-swagger v0.33.1
|
||||
github.com/google/go-cmp v0.7.0
|
||||
github.com/google/uuid v1.6.0
|
||||
github.com/gorilla/feeds v1.2.0
|
||||
@@ -81,15 +81,15 @@ require (
|
||||
go.opentelemetry.io/otel/sdk/metric v1.38.0
|
||||
go.opentelemetry.io/otel/trace v1.38.0
|
||||
go.uber.org/automaxprocs v1.6.0
|
||||
golang.org/x/crypto v0.42.0
|
||||
golang.org/x/image v0.31.0
|
||||
golang.org/x/net v0.44.0
|
||||
golang.org/x/oauth2 v0.31.0
|
||||
golang.org/x/sys v0.36.0
|
||||
golang.org/x/text v0.29.0
|
||||
golang.org/x/crypto v0.43.0
|
||||
golang.org/x/image v0.32.0
|
||||
golang.org/x/net v0.46.0
|
||||
golang.org/x/oauth2 v0.32.0
|
||||
golang.org/x/sys v0.37.0
|
||||
golang.org/x/text v0.30.0
|
||||
gopkg.in/mcuadros/go-syslog.v2 v2.3.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
modernc.org/sqlite v1.39.0
|
||||
modernc.org/sqlite v1.39.1
|
||||
mvdan.cc/xurls/v2 v2.6.0
|
||||
)
|
||||
|
||||
@@ -107,11 +107,12 @@ require (
|
||||
github.com/aymerick/douceur v0.2.0 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect
|
||||
github.com/bytedance/sonic v1.13.3 // indirect
|
||||
github.com/bytedance/sonic/loader v0.2.4 // indirect
|
||||
github.com/bytedance/gopkg v0.1.3 // indirect
|
||||
github.com/bytedance/sonic v1.14.1 // indirect
|
||||
github.com/bytedance/sonic/loader v0.3.0 // indirect
|
||||
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/cloudwego/base64x v0.1.5 // indirect
|
||||
github.com/cloudwego/base64x v0.1.6 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/dsoprea/go-exif/v3 v3.0.0-20210625224831-a6301f85c82b // indirect
|
||||
github.com/dsoprea/go-iptc v0.0.0-20200609062250-162ae6b44feb // indirect
|
||||
@@ -121,11 +122,11 @@ require (
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
github.com/fsnotify/fsnotify v1.9.0 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.9 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.10 // indirect
|
||||
github.com/gin-contrib/sse v1.1.0 // indirect
|
||||
github.com/go-errors/errors v1.1.1 // indirect
|
||||
github.com/go-ini/ini v1.67.0 // indirect
|
||||
github.com/go-jose/go-jose/v4 v4.1.1 // indirect
|
||||
github.com/go-jose/go-jose/v4 v4.1.3 // indirect
|
||||
github.com/go-logr/logr v1.4.3 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-openapi/analysis v0.23.0 // indirect
|
||||
@@ -141,7 +142,7 @@ require (
|
||||
github.com/go-openapi/validate v0.24.0 // indirect
|
||||
github.com/go-playground/locales v0.14.1 // indirect
|
||||
github.com/go-playground/universal-translator v0.18.1 // indirect
|
||||
github.com/go-playground/validator/v10 v10.26.0 // indirect
|
||||
github.com/go-playground/validator/v10 v10.28.0 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
|
||||
github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b // indirect
|
||||
github.com/goccy/go-json v0.10.5 // indirect
|
||||
@@ -165,7 +166,7 @@ require (
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/klauspost/compress v1.18.0 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.2.11 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
||||
github.com/kr/pretty v0.3.1 // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
github.com/leodido/go-urn v1.4.0 // indirect
|
||||
@@ -227,17 +228,17 @@ require (
|
||||
go.opentelemetry.io/otel/sdk/log v0.14.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.7.1 // indirect
|
||||
go.yaml.in/yaml/v3 v3.0.4 // indirect
|
||||
golang.org/x/arch v0.18.0 // indirect
|
||||
golang.org/x/arch v0.22.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
|
||||
golang.org/x/mod v0.27.0 // indirect
|
||||
golang.org/x/mod v0.29.0 // indirect
|
||||
golang.org/x/sync v0.17.0 // indirect
|
||||
golang.org/x/tools v0.36.0 // indirect
|
||||
golang.org/x/tools v0.38.0 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect
|
||||
google.golang.org/grpc v1.75.0 // indirect
|
||||
google.golang.org/protobuf v1.36.8 // indirect
|
||||
google.golang.org/protobuf v1.36.10 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
modernc.org/libc v1.66.3 // indirect
|
||||
modernc.org/libc v1.66.10 // indirect
|
||||
modernc.org/mathutil v1.7.1 // indirect
|
||||
modernc.org/memory v1.11.0 // indirect
|
||||
)
|
||||
|
||||
@@ -89,22 +89,22 @@ github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8
|
||||
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/buckket/go-blurhash v1.1.0 h1:X5M6r0LIvwdvKiUtiNcRL2YlmOfMzYobI3VCKCZc9Do=
|
||||
github.com/buckket/go-blurhash v1.1.0/go.mod h1:aT2iqo5W9vu9GpyoLErKfTHwgODsZp3bQfXjXJUxNb8=
|
||||
github.com/bytedance/sonic v1.13.3 h1:MS8gmaH16Gtirygw7jV91pDCN33NyMrPbN7qiYhEsF0=
|
||||
github.com/bytedance/sonic v1.13.3/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4=
|
||||
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
|
||||
github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY=
|
||||
github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
|
||||
github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M=
|
||||
github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM=
|
||||
github.com/bytedance/sonic v1.14.1 h1:FBMC0zVz5XUmE4z9wF4Jey0An5FueFvOsTKKKtwIl7w=
|
||||
github.com/bytedance/sonic v1.14.1/go.mod h1:gi6uhQLMbTdeP0muCnrjHLeCUPyb70ujhnNlhOylAFc=
|
||||
github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA=
|
||||
github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
|
||||
github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM=
|
||||
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
|
||||
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
||||
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4=
|
||||
github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
|
||||
github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
|
||||
github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M=
|
||||
github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU=
|
||||
github.com/cnf/structhash v0.0.0-20201127153200-e1b16c1ebc08 h1:ox2F0PSMlrAAiAdknSRMDrAr8mfxPCfSZolH+/qQnyQ=
|
||||
github.com/cnf/structhash v0.0.0-20201127153200-e1b16c1ebc08/go.mod h1:pCxVEbcm3AMg7ejXyorUXi6HQCzOIBf7zEDVPtw0/U4=
|
||||
github.com/coreos/go-oidc/v3 v3.15.0 h1:R6Oz8Z4bqWR7VFQ+sPSvZPQv4x8M+sJkDO5ojgwlyAg=
|
||||
github.com/coreos/go-oidc/v3 v3.15.0/go.mod h1:HaZ3szPaZ0e4r6ebqvsLWlk2Tn+aejfmrfah6hnSYEU=
|
||||
github.com/coreos/go-oidc/v3 v3.16.0 h1:qRQUCFstKpXwmEjDQTIbyY/5jF00+asXzSkmkoa/mow=
|
||||
github.com/coreos/go-oidc/v3 v3.16.0/go.mod h1:wqPbKFrVnE90vty060SB40FCJ8fTHTxSwyXJqZH+sI8=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@@ -141,8 +141,8 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S
|
||||
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
|
||||
github.com/fxamacker/cbor v1.5.1 h1:XjQWBgdmQyqimslUh5r4tUGmoqzHmBFQOImkWGi2awg=
|
||||
github.com/fxamacker/cbor v1.5.1/go.mod h1:3aPGItF174ni7dDzd6JZ206H8cmr4GDNBGpPa971zsU=
|
||||
github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY=
|
||||
github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok=
|
||||
github.com/gabriel-vasile/mimetype v1.4.10 h1:zyueNbySn/z8mJZHLt6IPw0KoZsiQNszIpU+bX4+ZK0=
|
||||
github.com/gabriel-vasile/mimetype v1.4.10/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s=
|
||||
github.com/gavv/httpexpect/v2 v2.17.0 h1:nIJqt5v5e4P7/0jODpX2gtSw+pHXUqdP28YcjqwDZmE=
|
||||
github.com/gavv/httpexpect/v2 v2.17.0/go.mod h1:E8ENFlT9MZ3Si2sfM6c6ONdwXV2noBCGkhA+lkJgkP0=
|
||||
github.com/gin-contrib/cors v1.7.6 h1:3gQ8GMzs1Ylpf70y8bMw4fVpycXIeX1ZemuSQIsnQQY=
|
||||
@@ -161,8 +161,8 @@ github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYN
|
||||
github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs=
|
||||
github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A=
|
||||
github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
|
||||
github.com/go-jose/go-jose/v4 v4.1.1 h1:JYhSgy4mXXzAdF3nUx3ygx347LRXJRrpgyU3adRmkAI=
|
||||
github.com/go-jose/go-jose/v4 v4.1.1/go.mod h1:BdsZGqgdO3b6tTc6LSE56wcDbMMLuPsw5d4ZD5f94kA=
|
||||
github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs=
|
||||
github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
|
||||
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
|
||||
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
@@ -190,17 +190,16 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr
|
||||
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
|
||||
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
|
||||
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
|
||||
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
|
||||
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
github.com/go-playground/form/v4 v4.2.1 h1:HjdRDKO0fftVMU5epjPW2SOREcZ6/wLUzEobqUGJuPw=
|
||||
github.com/go-playground/form/v4 v4.2.1/go.mod h1:q1a2BY+AQUUzhl6xA/6hBetay6dEIhMHjgvJiGo6K7U=
|
||||
github.com/go-playground/form/v4 v4.3.0 h1:OVttojbQv2WNCs4P+VnjPtrt/+30Ipw4890W3OaFlvk=
|
||||
github.com/go-playground/form/v4 v4.3.0/go.mod h1:Cpe1iYJKoXb1vILRXEwxpWMGWyQuqplQ/4cvPecy+Jo=
|
||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
||||
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
||||
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
|
||||
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
|
||||
github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k=
|
||||
github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo=
|
||||
github.com/go-playground/validator/v10 v10.28.0 h1:Q7ibns33JjyW48gHkuFT91qX48KG0ktULL6FgHdG688=
|
||||
github.com/go-playground/validator/v10 v10.28.0/go.mod h1:GoI6I1SjPBh9p7ykNE/yj3fFYbyDOpwMn5KXd+m2hUU=
|
||||
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
|
||||
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
|
||||
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
|
||||
@@ -291,10 +290,8 @@ github.com/k3a/html2text v1.2.1/go.mod h1:ieEXykM67iT8lTvEWBh6fhpH4B23kB9OMKPdIB
|
||||
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
|
||||
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
|
||||
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||
github.com/klauspost/cpuid/v2 v2.2.11 h1:0OwqZRYI2rFrjS4kvkDnqJkKHdHaRnCm68/DY4OxRzU=
|
||||
github.com/klauspost/cpuid/v2 v2.2.11/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
||||
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
|
||||
github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
|
||||
github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
@@ -506,8 +503,8 @@ github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDf
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/yuin/goldmark v1.7.13 h1:GPddIs617DnBLFFVJFgpo1aBfe/4xcvMc3SB5t/D0pA=
|
||||
github.com/yuin/goldmark v1.7.13/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.39.0-concurrency-workaround h1:+e2m4Ycgsri3YaePPAuYcTawQxklz0q/3CbKEbqxhOM=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.39.0-concurrency-workaround/go.mod h1:cPTJYSlgg3Sfg046yBShXENNtPrWrDX8bsbAQBzgQ5E=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.39.1-concurrency-workaround h1:ptkkB4Z76pmpmLE7vmp5BVOfO5o5+Kt0eGFhNbvVxjA=
|
||||
gitlab.com/NyaaaWhatsUpDoc/sqlite v1.39.1-concurrency-workaround/go.mod h1:9fjQZ0mB1LLP0GYrp39oOJXx/I2sxEnZtzCmEQIKvGE=
|
||||
go.mongodb.org/mongo-driver v1.17.3 h1:TQyXhnsWfWtgAhMtOgtYHMTkZIfBTpMTsMnd9ZBeHxQ=
|
||||
go.mongodb.org/mongo-driver v1.17.3/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
||||
@@ -564,8 +561,8 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
|
||||
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
||||
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
|
||||
golang.org/x/arch v0.18.0 h1:WN9poc33zL4AzGxqf8VtpKUnGvMi8O9lhNyBMF/85qc=
|
||||
golang.org/x/arch v0.18.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk=
|
||||
golang.org/x/arch v0.22.0 h1:c/Zle32i5ttqRXjdLyyHZESLD/bB90DCU1g9l/0YBDI=
|
||||
golang.org/x/arch v0.22.0/go.mod h1:dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
@@ -573,19 +570,19 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
|
||||
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
|
||||
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI=
|
||||
golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8=
|
||||
golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04=
|
||||
golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0=
|
||||
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o=
|
||||
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8=
|
||||
golang.org/x/image v0.31.0 h1:mLChjE2MV6g1S7oqbXC0/UcKijjm5fnJLUYKIYrLESA=
|
||||
golang.org/x/image v0.31.0/go.mod h1:R9ec5Lcp96v9FTF+ajwaH3uGxPH4fKfHHAVbUILxghA=
|
||||
golang.org/x/image v0.32.0 h1:6lZQWq75h7L5IWNk0r+SCpUJ6tUVd3v4ZHnbRKLkUDQ=
|
||||
golang.org/x/image v0.32.0/go.mod h1:/R37rrQmKXtO6tYXAjtDLwQgFLHmhW+V6ayXlxzP2Pc=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
|
||||
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
|
||||
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
|
||||
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
@@ -601,10 +598,10 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
||||
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
|
||||
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
|
||||
golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I=
|
||||
golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
|
||||
golang.org/x/oauth2 v0.31.0 h1:8Fq0yVZLh4j4YA47vHKFTa9Ew5XIrCP8LC6UeNZnLxo=
|
||||
golang.org/x/oauth2 v0.31.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
|
||||
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
|
||||
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
|
||||
golang.org/x/oauth2 v0.32.0 h1:jsCblLleRMDrxMN29H3z/k1KliIvpLgCkE6R8FXXNgY=
|
||||
golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -629,8 +626,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
|
||||
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
|
||||
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
@@ -641,8 +638,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
||||
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
|
||||
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
|
||||
golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ=
|
||||
golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA=
|
||||
golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q=
|
||||
golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
@@ -653,8 +650,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
|
||||
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
|
||||
golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k=
|
||||
golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
@@ -662,8 +659,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
|
||||
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
|
||||
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
|
||||
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
|
||||
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
|
||||
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
|
||||
@@ -673,8 +670,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc=
|
||||
google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4=
|
||||
google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
|
||||
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
|
||||
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
|
||||
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
|
||||
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
@@ -688,18 +685,18 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
modernc.org/cc/v4 v4.26.2 h1:991HMkLjJzYBIfha6ECZdjrIYz2/1ayr+FL8GN+CNzM=
|
||||
modernc.org/cc/v4 v4.26.2/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
|
||||
modernc.org/ccgo/v4 v4.28.0 h1:rjznn6WWehKq7dG4JtLRKxb52Ecv8OUGah8+Z/SfpNU=
|
||||
modernc.org/ccgo/v4 v4.28.0/go.mod h1:JygV3+9AV6SmPhDasu4JgquwU81XAKLd3OKTUDNOiKE=
|
||||
modernc.org/fileutil v1.3.8 h1:qtzNm7ED75pd1C7WgAGcK4edm4fvhtBsEiI/0NQ54YM=
|
||||
modernc.org/fileutil v1.3.8/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
|
||||
modernc.org/cc/v4 v4.26.5 h1:xM3bX7Mve6G8K8b+T11ReenJOT+BmVqQj0FY5T4+5Y4=
|
||||
modernc.org/cc/v4 v4.26.5/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
|
||||
modernc.org/ccgo/v4 v4.28.1 h1:wPKYn5EC/mYTqBO373jKjvX2n+3+aK7+sICCv4Fjy1A=
|
||||
modernc.org/ccgo/v4 v4.28.1/go.mod h1:uD+4RnfrVgE6ec9NGguUNdhqzNIeeomeXf6CL0GTE5Q=
|
||||
modernc.org/fileutil v1.3.40 h1:ZGMswMNc9JOCrcrakF1HrvmergNLAmxOPjizirpfqBA=
|
||||
modernc.org/fileutil v1.3.40/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
|
||||
modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
|
||||
modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
|
||||
modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks=
|
||||
modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI=
|
||||
modernc.org/libc v1.66.3 h1:cfCbjTUcdsKyyZZfEUKfoHcP3S0Wkvz3jgSzByEWVCQ=
|
||||
modernc.org/libc v1.66.3/go.mod h1:XD9zO8kt59cANKvHPXpx7yS2ELPheAey0vjIuZOhOU8=
|
||||
modernc.org/libc v1.66.10 h1:yZkb3YeLx4oynyR+iUsXsybsX4Ubx7MQlSYEw4yj59A=
|
||||
modernc.org/libc v1.66.10/go.mod h1:8vGSEwvoUoltr4dlywvHqjtAqHBaw0j1jI7iFBTAr2I=
|
||||
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
|
||||
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
|
||||
modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI=
|
||||
@@ -716,4 +713,3 @@ moul.io/http2curl/v2 v2.3.0 h1:9r3JfDzWPcbIklMOs2TnIFzDYvfAZvjeavG6EzP7jYs=
|
||||
moul.io/http2curl/v2 v2.3.0/go.mod h1:RW4hyBjTWSYDOxapodpNEtX0g5Eb16sxklBqmd2RHcE=
|
||||
mvdan.cc/xurls/v2 v2.6.0 h1:3NTZpeTxYVWNSokW3MKeyVkz/j7uYXYiMtXRUfmjbgI=
|
||||
mvdan.cc/xurls/v2 v2.6.0/go.mod h1:bCvEZ1XvdA6wDnxY7jPPjEmigDtvtvPXAD/Exa9IMSk=
|
||||
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
|
||||
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
// Copyright 2024 ByteDance Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package dirtmake
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
type slice struct {
|
||||
data unsafe.Pointer
|
||||
len int
|
||||
cap int
|
||||
}
|
||||
|
||||
//go:linkname mallocgc runtime.mallocgc
|
||||
func mallocgc(size uintptr, typ unsafe.Pointer, needzero bool) unsafe.Pointer
|
||||
|
||||
// Bytes allocates a byte slice but does not clean up the memory it references.
|
||||
// Throw a fatal error instead of panic if cap is greater than runtime.maxAlloc.
|
||||
// NOTE: MUST set any byte element before it's read.
|
||||
func Bytes(len, cap int) (b []byte) {
|
||||
if len < 0 || len > cap {
|
||||
panic("dirtmake.Bytes: len out of range")
|
||||
}
|
||||
p := mallocgc(uintptr(cap), nil, false)
|
||||
sh := (*slice)(unsafe.Pointer(&b))
|
||||
sh.data = p
|
||||
sh.len = len
|
||||
sh.cap = cap
|
||||
return
|
||||
}
|
||||
+1
-1
@@ -6,7 +6,7 @@ A blazingly fast JSON serializing & deserializing library, accelerated by JI
|
||||
|
||||
## Requirement
|
||||
|
||||
- Go: 1.17~1.24
|
||||
- Go: 1.18~1.25
|
||||
- Notice: Go1.24.0 is not supported due to the [issue](https://github.com/golang/go/issues/71672), please use higher go version or add build tag `--ldflags="-checklinkname=0"`
|
||||
- OS: Linux / MacOS / Windows
|
||||
- CPU: AMD64 / (ARM64, need go1.20 above)
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
|
||||
## 依赖
|
||||
|
||||
- Go: 1.17~1.24
|
||||
- Go: 1.18~1.25
|
||||
- 注意:Go1.24.0 由于 [issue](https://github.com/golang/go/issues/71672) 不可用,请升级到更高 Go 版本,或添加编译选项 `--ldflags="-checklinkname=0"`
|
||||
- OS: Linux / MacOS / Windows
|
||||
- CPU: AMD64 / (ARM64, 需要 Go1.20 以上)
|
||||
|
||||
+11
-52
@@ -1,5 +1,5 @@
|
||||
//go:build (amd64 && go1.17 && !go1.25) || (arm64 && go1.20 && !go1.25)
|
||||
// +build amd64,go1.17,!go1.25 arm64,go1.20,!go1.25
|
||||
//go:build (amd64 && go1.17 && !go1.26) || (arm64 && go1.20 && !go1.26)
|
||||
// +build amd64,go1.17,!go1.26 arm64,go1.20,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2022 ByteDance Inc.
|
||||
@@ -20,62 +20,21 @@
|
||||
package ast
|
||||
|
||||
import (
|
||||
`runtime`
|
||||
`unsafe`
|
||||
"runtime"
|
||||
"unsafe"
|
||||
|
||||
`github.com/bytedance/sonic/encoder`
|
||||
`github.com/bytedance/sonic/internal/native`
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
uq `github.com/bytedance/sonic/unquote`
|
||||
`github.com/bytedance/sonic/utf8`
|
||||
"github.com/bytedance/sonic/encoder"
|
||||
"github.com/bytedance/sonic/internal/encoder/alg"
|
||||
"github.com/bytedance/sonic/internal/native"
|
||||
"github.com/bytedance/sonic/internal/native/types"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
"github.com/bytedance/sonic/utf8"
|
||||
)
|
||||
|
||||
var typeByte = rt.UnpackEface(byte(0)).Type
|
||||
|
||||
//go:nocheckptr
|
||||
func quote(buf *[]byte, val string) {
|
||||
*buf = append(*buf, '"')
|
||||
if len(val) == 0 {
|
||||
*buf = append(*buf, '"')
|
||||
return
|
||||
}
|
||||
|
||||
sp := rt.IndexChar(val, 0)
|
||||
nb := len(val)
|
||||
b := (*rt.GoSlice)(unsafe.Pointer(buf))
|
||||
|
||||
// input buffer
|
||||
for nb > 0 {
|
||||
// output buffer
|
||||
dp := unsafe.Pointer(uintptr(b.Ptr) + uintptr(b.Len))
|
||||
dn := b.Cap - b.Len
|
||||
// call native.Quote, dn is byte count it outputs
|
||||
ret := native.Quote(sp, nb, dp, &dn, 0)
|
||||
// update *buf length
|
||||
b.Len += dn
|
||||
|
||||
// no need more output
|
||||
if ret >= 0 {
|
||||
break
|
||||
}
|
||||
|
||||
// double buf size
|
||||
*b = rt.GrowSlice(typeByte, *b, b.Cap*2)
|
||||
// ret is the complement of consumed input
|
||||
ret = ^ret
|
||||
// update input buffer
|
||||
nb -= ret
|
||||
sp = unsafe.Pointer(uintptr(sp) + uintptr(ret))
|
||||
}
|
||||
|
||||
runtime.KeepAlive(buf)
|
||||
runtime.KeepAlive(sp)
|
||||
*buf = append(*buf, '"')
|
||||
}
|
||||
|
||||
func unquote(src string) (string, types.ParsingError) {
|
||||
return uq.String(src)
|
||||
*buf = alg.Quote(*buf, val, false)
|
||||
}
|
||||
|
||||
func (self *Parser) decodeValue() (val types.JsonState) {
|
||||
|
||||
+1
-13
@@ -1,4 +1,4 @@
|
||||
// +build !amd64,!arm64 go1.25 !go1.17 arm64,!go1.20
|
||||
// +build !amd64,!arm64 go1.26 !go1.17 arm64,!go1.20
|
||||
|
||||
/*
|
||||
* Copyright 2022 ByteDance Inc.
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
`unicode/utf8`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
`github.com/bytedance/sonic/internal/compat`
|
||||
)
|
||||
|
||||
@@ -35,17 +34,6 @@ func quote(buf *[]byte, val string) {
|
||||
quoteString(buf, val)
|
||||
}
|
||||
|
||||
// unquote unescapes an internal JSON string (it doesn't count quotas at the beginning and end)
|
||||
func unquote(src string) (string, types.ParsingError) {
|
||||
sp := rt.IndexChar(src, -1)
|
||||
out, ok := unquoteBytes(rt.BytesFrom(sp, len(src)+2, len(src)+2))
|
||||
if !ok {
|
||||
return "", types.ERR_INVALID_ESCAPE
|
||||
}
|
||||
return rt.Mem2Str(out), 0
|
||||
}
|
||||
|
||||
|
||||
func (self *Parser) decodeValue() (val types.JsonState) {
|
||||
e, v := decodeValue(self.s, self.p, self.dbuf == nil)
|
||||
if e < 0 {
|
||||
|
||||
+6
-11
@@ -25,10 +25,9 @@ import (
|
||||
"github.com/bytedance/sonic/internal/native/types"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
"github.com/bytedance/sonic/internal/utils"
|
||||
"github.com/bytedance/sonic/unquote"
|
||||
)
|
||||
|
||||
// Hack: this is used for both checking space and cause friendly compile errors in 32-bit arch.
|
||||
const _Sonic_Not_Support_32Bit_Arch__Checking_32Bit_Arch_Here = (1 << ' ') | (1 << '\t') | (1 << '\r') | (1 << '\n')
|
||||
|
||||
var bytesNull = []byte("null")
|
||||
|
||||
@@ -40,17 +39,13 @@ const (
|
||||
bytesArray = "[]"
|
||||
)
|
||||
|
||||
func isSpace(c byte) bool {
|
||||
return (int(1<<c) & _Sonic_Not_Support_32Bit_Arch__Checking_32Bit_Arch_Here) != 0
|
||||
}
|
||||
|
||||
//go:nocheckptr
|
||||
func skipBlank(src string, pos int) int {
|
||||
se := uintptr(rt.IndexChar(src, len(src)))
|
||||
sp := uintptr(rt.IndexChar(src, pos))
|
||||
|
||||
for sp < se {
|
||||
if !isSpace(*(*byte)(unsafe.Pointer(sp))) {
|
||||
if !utils.IsSpace(*(*byte)(unsafe.Pointer(sp))) {
|
||||
break
|
||||
}
|
||||
sp += 1
|
||||
@@ -107,13 +102,13 @@ func decodeString(src string, pos int) (ret int, v string) {
|
||||
return ret, v
|
||||
}
|
||||
|
||||
vv, ok := unquoteBytes(rt.Str2Mem(src[pos:ret]))
|
||||
if !ok {
|
||||
result, err := unquote.String(src[pos:ret])
|
||||
if err != 0 {
|
||||
return -int(types.ERR_INVALID_CHAR), ""
|
||||
}
|
||||
|
||||
runtime.KeepAlive(src)
|
||||
return ret, rt.Mem2Str(vv)
|
||||
return ret, result
|
||||
}
|
||||
|
||||
func decodeBinary(src string, pos int) (ret int, v []byte) {
|
||||
@@ -549,7 +544,7 @@ func _DecodeString(src string, pos int, needEsc bool, validStr bool) (v string,
|
||||
return str, p.p, true
|
||||
}
|
||||
/* unquote the string */
|
||||
out, err := unquote(str)
|
||||
out, err := unquote.String(str)
|
||||
/* check for errors */
|
||||
if err != 0 {
|
||||
return "", -int(err), true
|
||||
|
||||
+8
-2
@@ -20,8 +20,9 @@ import (
|
||||
"sync"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/bytedance/gopkg/lang/dirtmake"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
"github.com/bytedance/sonic/option"
|
||||
"github.com/bytedance/sonic/option"
|
||||
)
|
||||
|
||||
func quoteString(e *[]byte, s string) {
|
||||
@@ -95,6 +96,11 @@ func (self *Node) MarshalJSON() ([]byte, error) {
|
||||
return bytesNull, nil
|
||||
}
|
||||
|
||||
// fast path for raw node
|
||||
if self.isRaw() {
|
||||
return rt.Str2Mem(self.toString()), nil
|
||||
}
|
||||
|
||||
buf := newBuffer()
|
||||
err := self.encode(buf)
|
||||
if err != nil {
|
||||
@@ -105,7 +111,7 @@ func (self *Node) MarshalJSON() ([]byte, error) {
|
||||
if !rt.CanSizeResue(cap(*buf)) {
|
||||
ret = *buf
|
||||
} else {
|
||||
ret = make([]byte, len(*buf))
|
||||
ret = dirtmake.Bytes(len(*buf), len(*buf))
|
||||
copy(ret, *buf)
|
||||
freeBuffer(buf)
|
||||
}
|
||||
|
||||
+2
-2
@@ -64,8 +64,8 @@ type Node struct {
|
||||
// UnmarshalJSON is just an adapter to json.Unmarshaler.
|
||||
// If you want better performance, use Searcher.GetByPath() directly
|
||||
func (self *Node) UnmarshalJSON(data []byte) (err error) {
|
||||
*self = NewRaw(string(data))
|
||||
return self.Check()
|
||||
*self = newRawNode(rt.Mem2Str(data), switchRawType(data[0]), false)
|
||||
return nil
|
||||
}
|
||||
|
||||
/** Node Type Accessor **/
|
||||
|
||||
+9
-7
@@ -23,6 +23,8 @@ import (
|
||||
|
||||
"github.com/bytedance/sonic/internal/native/types"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
"github.com/bytedance/sonic/internal/utils"
|
||||
"github.com/bytedance/sonic/unquote"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -113,13 +115,13 @@ func (self *Parser) array() types.ParsingError {
|
||||
|
||||
func (self *Parser) lspace(sp int) int {
|
||||
ns := len(self.s)
|
||||
for ; sp<ns && isSpace(self.s[sp]); sp+=1 {}
|
||||
for ; sp<ns && utils.IsSpace(self.s[sp]); sp+=1 {}
|
||||
|
||||
return sp
|
||||
}
|
||||
|
||||
func (self *Parser) backward() {
|
||||
for ; self.p >= 0 && isSpace(self.s[self.p]); self.p-=1 {}
|
||||
for ; self.p >= 0 && utils.IsSpace(self.s[self.p]); self.p-=1 {}
|
||||
}
|
||||
|
||||
func (self *Parser) decodeArray(ret *linkedNodes) (Node, types.ParsingError) {
|
||||
@@ -217,7 +219,7 @@ func (self *Parser) decodeObject(ret *linkedPairs) (Node, types.ParsingError) {
|
||||
|
||||
/* check for escape sequence */
|
||||
if njs.Ep != -1 {
|
||||
if key, err = unquote(key); err != 0 {
|
||||
if key, err = unquote.String(key); err != 0 {
|
||||
return Node{}, err
|
||||
}
|
||||
}
|
||||
@@ -282,7 +284,7 @@ func (self *Parser) decodeString(iv int64, ep int) (Node, types.ParsingError) {
|
||||
}
|
||||
|
||||
/* unquote the string */
|
||||
out, err := unquote(s)
|
||||
out, err := unquote.String(s)
|
||||
|
||||
/* check for errors */
|
||||
if err != 0 {
|
||||
@@ -392,7 +394,7 @@ func (self *Parser) searchKey(match string) types.ParsingError {
|
||||
|
||||
/* check for escape sequence */
|
||||
if njs.Ep != -1 {
|
||||
if key, err = unquote(key); err != 0 {
|
||||
if key, err = unquote.String(key); err != 0 {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -573,7 +575,7 @@ func (self *Node) skipNextPair() (*Pair) {
|
||||
|
||||
/* check for escape sequence */
|
||||
if njs.Ep != -1 {
|
||||
if key, err = unquote(key); err != 0 {
|
||||
if key, err = unquote.String(key); err != 0 {
|
||||
return newErrorPair(parser.syntaxError(err))
|
||||
}
|
||||
}
|
||||
@@ -692,7 +694,7 @@ func (self *Parser) ExportError(err types.ParsingError) error {
|
||||
}
|
||||
|
||||
func backward(src string, i int) int {
|
||||
for ; i>=0 && isSpace(src[i]); i-- {}
|
||||
for ; i>=0 && utils.IsSpace(src[i]); i-- {}
|
||||
return i
|
||||
}
|
||||
|
||||
|
||||
-3
@@ -26,6 +26,3 @@ import (
|
||||
func mem2ptr(s []byte) unsafe.Pointer {
|
||||
return (*rt.GoSlice)(unsafe.Pointer(&s)).Ptr
|
||||
}
|
||||
|
||||
//go:linkname unquoteBytes encoding/json.unquoteBytes
|
||||
func unquoteBytes(s []byte) (t []byte, ok bool)
|
||||
|
||||
+3
-2
@@ -21,6 +21,7 @@ import (
|
||||
`errors`
|
||||
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/unquote`
|
||||
)
|
||||
|
||||
// Visitor handles the callbacks during preorder traversal of a JSON AST.
|
||||
@@ -270,7 +271,7 @@ func (self *traverser) decodeObject() error {
|
||||
|
||||
/* check for escape sequence */
|
||||
if njs.Ep != -1 {
|
||||
if key, err = unquote(key); err != 0 {
|
||||
if key, err = unquote.String(key); err != 0 {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -320,7 +321,7 @@ func (self *traverser) decodeString(iv int64, ep int) error {
|
||||
}
|
||||
|
||||
/* unquote the string */
|
||||
out, err := unquote(s)
|
||||
out, err := unquote.String(s)
|
||||
if err != 0 {
|
||||
return err
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build !amd64,!arm64 go1.25 !go1.17 arm64,!go1.20
|
||||
// +build !amd64,!arm64 go1.26 !go1.17 arm64,!go1.20
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
//go:build (!amd64 && !arm64) || go1.25 || !go1.17 || (arm64 && !go1.20)
|
||||
// +build !amd64,!arm64 go1.25 !go1.17 arm64,!go1.20
|
||||
//go:build (!amd64 && !arm64) || go1.26 || !go1.17 || (arm64 && !go1.20)
|
||||
// +build !amd64,!arm64 go1.26 !go1.17 arm64,!go1.20
|
||||
|
||||
/*
|
||||
* Copyright 2023 ByteDance Inc.
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
//go:build (amd64 && go1.17 && !go1.25) || (arm64 && go1.20 && !go1.25)
|
||||
// +build amd64,go1.17,!go1.25 arm64,go1.20,!go1.25
|
||||
//go:build (amd64 && go1.17 && !go1.26) || (arm64 && go1.20 && !go1.26)
|
||||
// +build amd64,go1.17,!go1.26 arm64,go1.20,!go1.26
|
||||
|
||||
|
||||
/*
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build !amd64,!arm64 go1.25 !go1.17 arm64,!go1.20
|
||||
// +build !amd64,!arm64 go1.26 !go1.17 arm64,!go1.20
|
||||
|
||||
/*
|
||||
* Copyright 2023 ByteDance Inc.
|
||||
|
||||
+6
-5
@@ -1,4 +1,4 @@
|
||||
// +build amd64,go1.17,!go1.25 arm64,go1.20,!go1.25
|
||||
// +build amd64,go1.17,!go1.26 arm64,go1.20,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2023 ByteDance Inc.
|
||||
@@ -71,7 +71,8 @@ const (
|
||||
// CompatibleWithStd is used to be compatible with std encoder.
|
||||
CompatibleWithStd Options = encoder.CompatibleWithStd
|
||||
|
||||
// Encode Infinity or Nan float into `null`, instead of returning an error.
|
||||
// EncodeNullForInfOrNan encodes Infinity or NaN float values as 'null'
|
||||
// instead of returning an error.
|
||||
EncodeNullForInfOrNan Options = encoder.EncodeNullForInfOrNan
|
||||
)
|
||||
|
||||
@@ -80,12 +81,12 @@ var (
|
||||
// Encode returns the JSON encoding of val, encoded with opts.
|
||||
Encode = encoder.Encode
|
||||
|
||||
// EncodeInto is like Encode but uses a user-supplied buffer instead of allocating a new one.
|
||||
EncodeIndented = encoder.EncodeIndented
|
||||
|
||||
// EncodeIndented is like Encode but applies Indent to format the output.
|
||||
// Each JSON element in the output will begin on a new line beginning with prefix
|
||||
// followed by one or more copies of indent according to the indentation nesting.
|
||||
EncodeIndented = encoder.EncodeIndented
|
||||
|
||||
// EncodeInto is like Encode but uses a user-supplied buffer instead of allocating a new one.
|
||||
EncodeInto = encoder.EncodeInto
|
||||
|
||||
// HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029
|
||||
|
||||
+1
@@ -5,5 +5,6 @@ use (
|
||||
./external_jsonlib_test
|
||||
./fuzz
|
||||
./generic_test
|
||||
./issue_test
|
||||
./loader
|
||||
)
|
||||
|
||||
+7
-3
@@ -2,6 +2,10 @@ github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4
|
||||
github.com/bytedance/sonic/loader v0.2.3/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
|
||||
github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
|
||||
github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg=
|
||||
github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY=
|
||||
github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8=
|
||||
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
|
||||
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
|
||||
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build !amd64,!arm64 go1.25 !go1.17 arm64,!go1.20
|
||||
// +build !amd64,!arm64 go1.26 !go1.17 arm64,!go1.20
|
||||
|
||||
package compat
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
//go:build go1.17 && !go1.25
|
||||
// +build go1.17,!go1.25
|
||||
//go:build go1.17 && !go1.26
|
||||
// +build go1.17,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build go1.17,!go1.25
|
||||
// +build go1.17,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+9
-11
@@ -17,14 +17,15 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
`bytes`
|
||||
`io`
|
||||
`sync`
|
||||
"bytes"
|
||||
"io"
|
||||
"sync"
|
||||
|
||||
`github.com/bytedance/sonic/internal/native`
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
`github.com/bytedance/sonic/option`
|
||||
"github.com/bytedance/sonic/internal/native"
|
||||
"github.com/bytedance/sonic/internal/native/types"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
"github.com/bytedance/sonic/internal/utils"
|
||||
"github.com/bytedance/sonic/option"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -194,7 +195,7 @@ func (self *StreamDecoder) peek() (byte, error) {
|
||||
func (self *StreamDecoder) scan() (byte, bool) {
|
||||
for i := self.scanp; i < len(self.buf); i++ {
|
||||
c := self.buf[i]
|
||||
if isSpace(c) {
|
||||
if utils.IsSpace(c) {
|
||||
continue
|
||||
}
|
||||
self.scanp = i
|
||||
@@ -203,9 +204,6 @@ func (self *StreamDecoder) scan() (byte, bool) {
|
||||
return 0, true
|
||||
}
|
||||
|
||||
func isSpace(c byte) bool {
|
||||
return types.SPACE_MASK & (1 << c) != 0
|
||||
}
|
||||
|
||||
func (self *StreamDecoder) refill() error {
|
||||
// Make room to read more into the buffer.
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build go1.21,!go1.25
|
||||
// +build go1.21,!go1.26
|
||||
|
||||
// Copyright 2023 CloudWeGo Authors
|
||||
//
|
||||
|
||||
Generated
Vendored
+14
-3
@@ -1,5 +1,5 @@
|
||||
//go:build go1.17 && !go1.25
|
||||
// +build go1.17,!go1.25
|
||||
//go:build go1.17 && !go1.26
|
||||
// +build go1.17,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
@@ -887,6 +887,17 @@ func (self *_Assembler) range_unsigned_CX(i *rt.GoItab, t *rt.GoType, v uint64)
|
||||
self.Sjmp("JA" , _LB_range_error) // JA _range_error
|
||||
}
|
||||
|
||||
func (self *_Assembler) range_uint32_CX(i *rt.GoItab, t *rt.GoType) {
|
||||
self.Emit("MOVQ" , _VAR_st_Iv, _CX) // MOVQ st.Iv, CX
|
||||
self.Emit("MOVQ" , jit.Gitab(i), _ET) // MOVQ ${i}, ET
|
||||
self.Emit("MOVQ" , jit.Gtype(t), _EP) // MOVQ ${t}, EP
|
||||
self.Emit("TESTQ", _CX, _CX) // TESTQ CX, CX
|
||||
self.Sjmp("JS" , _LB_range_error) // JS _range_error
|
||||
self.Emit("MOVL" , _CX, _DX) // MOVL CX, DX
|
||||
self.Emit("CMPQ" , _CX, _DX) // CMPQ CX, DX
|
||||
self.Sjmp("JNE" , _LB_range_error) // JNZ _range_error
|
||||
}
|
||||
|
||||
/** String Manipulating Routines **/
|
||||
|
||||
var (
|
||||
@@ -1453,7 +1464,7 @@ func (self *_Assembler) _asm_OP_u16(_ *_Instr) {
|
||||
func (self *_Assembler) _asm_OP_u32(_ *_Instr) {
|
||||
var pin = "_u32_end_{n}"
|
||||
self.parse_unsigned(uint32Type, pin, -1) // PARSE uint32
|
||||
self.range_unsigned_CX(_I_uint32, _T_uint32, math.MaxUint32) // RANGE uint32
|
||||
self.range_uint32_CX(_I_uint32, _T_uint32) // RANGE uint32
|
||||
self.Emit("MOVL", _CX, jit.Ptr(_VP, 0)) // MOVL CX, (VP)
|
||||
self.Link(pin)
|
||||
}
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build go1.17,!go1.25
|
||||
// +build go1.17,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build go1.17,!go1.25
|
||||
// +build go1.17,!go1.26
|
||||
|
||||
//
|
||||
// Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-16
@@ -28,11 +28,6 @@ func SkipNumberFast(json string, start int) (int, bool) {
|
||||
return pos, true
|
||||
}
|
||||
|
||||
|
||||
func isSpace(c byte) bool {
|
||||
return c == ' ' || c == '\t' || c == '\n' || c == '\r'
|
||||
}
|
||||
|
||||
// pos is the start index of the raw
|
||||
func ValidNumberFast(raw string) bool {
|
||||
ret := utils.SkipNumber(raw, 0)
|
||||
@@ -48,22 +43,12 @@ func ValidNumberFast(raw string) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func SkipOneFast2(json string, pos *int) (int, error) {
|
||||
// find the number ending, we parsed in sonic-cpp, it always valid
|
||||
start := native.SkipOneFast(&json, pos)
|
||||
if start < 0 {
|
||||
return -1, error_syntax(*pos, json, types.ParsingError(-start).Error())
|
||||
}
|
||||
return start, nil
|
||||
}
|
||||
|
||||
func SkipOneFast(json string, pos int) (string, error) {
|
||||
// find the number ending, we parsed in sonic-cpp, it always valid
|
||||
start := native.SkipOneFast(&json, &pos)
|
||||
if start < 0 {
|
||||
// TODO: details error code
|
||||
return "", error_syntax(pos, json, types.ParsingError(-start).Error())
|
||||
}
|
||||
|
||||
return json[start:pos], nil
|
||||
}
|
||||
|
||||
|
||||
+93
-16
@@ -84,15 +84,24 @@ func (self *MapIterator) data() (p []_MapPair) {
|
||||
func (self *MapIterator) append(t *rt.GoType, k unsafe.Pointer, v unsafe.Pointer) (err error) {
|
||||
p := self.add()
|
||||
p.v = v
|
||||
tk := t.Kind()
|
||||
|
||||
/* check for strings */
|
||||
if tk := t.Kind(); tk != reflect.String {
|
||||
return self.appendGeneric(p, t, tk, k)
|
||||
// followed as `encoding/json/emcode.go:resolveKeyName
|
||||
if tk == reflect.String {
|
||||
p.k = *(*string)(k)
|
||||
return nil
|
||||
}
|
||||
|
||||
/* fast path for strings */
|
||||
p.k = *(*string)(k)
|
||||
return nil
|
||||
// check if the key implements the encoding.TextMarshaler interface
|
||||
if t.Pack().Implements(vars.EncodingTextMarshalerType) {
|
||||
if tk != reflect.Interface {
|
||||
return self.appendConcrete(p, t, k)
|
||||
} else {
|
||||
return self.appendInterface(p, t, k)
|
||||
}
|
||||
}
|
||||
|
||||
return self.appendGeneric(p, t, tk, k)
|
||||
}
|
||||
|
||||
func (self *MapIterator) appendGeneric(p *_MapPair, t *rt.GoType, v reflect.Kind, k unsafe.Pointer) error {
|
||||
@@ -109,34 +118,43 @@ func (self *MapIterator) appendGeneric(p *_MapPair, t *rt.GoType, v reflect.Kind
|
||||
case reflect.Uint64 : p.k = rt.Mem2Str(strconv.AppendUint(p.m[:0], uint64(*(*uint64)(k)), 10)) ; return nil
|
||||
case reflect.Uintptr : p.k = rt.Mem2Str(strconv.AppendUint(p.m[:0], uint64(*(*uintptr)(k)), 10)) ; return nil
|
||||
case reflect.Bool : if *(*bool)(k) { p.k = "true" } else { p.k = "false" }; return nil
|
||||
case reflect.Interface : return self.appendInterface(p, t, k)
|
||||
case reflect.Struct, reflect.Ptr : return self.appendConcrete(p, t, k)
|
||||
default : panic("unexpected map key type")
|
||||
default : return vars.Error_type(t.Pack())
|
||||
}
|
||||
}
|
||||
|
||||
func (self *MapIterator) appendConcrete(p *_MapPair, t *rt.GoType, k unsafe.Pointer) (err error) {
|
||||
func (self *MapIterator) appendConcrete(p *_MapPair, t *rt.GoType, k unsafe.Pointer) error {
|
||||
// compiler has already checked that the type implements the encoding.MarshalText interface
|
||||
if !t.Indirect() {
|
||||
k = *(*unsafe.Pointer)(k)
|
||||
}
|
||||
|
||||
// check the TextMarshaler interface
|
||||
eface := rt.GoEface{Value: k, Type: t}.Pack()
|
||||
out, err := eface.(encoding.TextMarshaler).MarshalText()
|
||||
e, ok := eface.(encoding.TextMarshaler)
|
||||
if !ok {
|
||||
return vars.Error_type(t.Pack())
|
||||
}
|
||||
|
||||
// check for nil pointer
|
||||
if t.Kind() == reflect.Ptr && k == nil {
|
||||
p.k = ""
|
||||
return nil
|
||||
}
|
||||
|
||||
out, err := e.MarshalText()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
p.k = rt.Mem2Str(out)
|
||||
return
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *MapIterator) appendInterface(p *_MapPair, t *rt.GoType, k unsafe.Pointer) (err error) {
|
||||
if len(rt.IfaceType(t).Methods) == 0 {
|
||||
panic("unexpected map key type")
|
||||
} else if p.k, err = asText(k); err == nil {
|
||||
return nil
|
||||
} else {
|
||||
return
|
||||
}
|
||||
p.k, err = asText(k)
|
||||
return
|
||||
}
|
||||
|
||||
func IteratorStop(p *MapIterator) {
|
||||
@@ -206,3 +224,62 @@ func asText(v unsafe.Pointer) (string, error) {
|
||||
r, e := (*(*encoding.TextMarshaler)(unsafe.Pointer(&text))).MarshalText()
|
||||
return rt.Mem2Str(r), e
|
||||
}
|
||||
|
||||
func IsValidNumber(s string) bool {
|
||||
// This function implements the JSON numbers grammar.
|
||||
// See https://tools.ietf.org/html/rfc7159#section-6
|
||||
// and https://www.json.org/img/number.png
|
||||
|
||||
if s == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
// Optional -
|
||||
if s[0] == '-' {
|
||||
s = s[1:]
|
||||
if s == "" {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// Digits
|
||||
switch {
|
||||
default:
|
||||
return false
|
||||
|
||||
case s[0] == '0':
|
||||
s = s[1:]
|
||||
|
||||
case '1' <= s[0] && s[0] <= '9':
|
||||
s = s[1:]
|
||||
for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
|
||||
s = s[1:]
|
||||
}
|
||||
}
|
||||
|
||||
// . followed by 1 or more digits.
|
||||
if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' {
|
||||
s = s[2:]
|
||||
for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
|
||||
s = s[1:]
|
||||
}
|
||||
}
|
||||
|
||||
// e or E followed by an optional - or + and
|
||||
// 1 or more digits.
|
||||
if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') {
|
||||
s = s[1:]
|
||||
if s[0] == '+' || s[0] == '-' {
|
||||
s = s[1:]
|
||||
if s == "" {
|
||||
return false
|
||||
}
|
||||
}
|
||||
for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
|
||||
s = s[1:]
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure we are at the end.
|
||||
return s == ""
|
||||
}
|
||||
|
||||
+7
-4
@@ -1,5 +1,5 @@
|
||||
//go:build (amd64 && go1.16 && !go1.25) || (arm64 && go1.20 && !go1.25)
|
||||
// +build amd64,go1.16,!go1.25 arm64,go1.20,!go1.25
|
||||
//go:build (amd64 && go1.16 && !go1.26) || (arm64 && go1.20 && !go1.26)
|
||||
// +build amd64,go1.16,!go1.26 arm64,go1.20,!go1.26
|
||||
|
||||
/**
|
||||
* Copyright 2024 ByteDance Inc.
|
||||
@@ -61,7 +61,6 @@ func Valid(data []byte) (ok bool, start int) {
|
||||
|
||||
var typeByte = rt.UnpackEface(byte(0)).Type
|
||||
|
||||
//go:nocheckptr
|
||||
func Quote(buf []byte, val string, double bool) []byte {
|
||||
if len(val) == 0 {
|
||||
if double {
|
||||
@@ -77,6 +76,8 @@ func Quote(buf []byte, val string, double bool) []byte {
|
||||
}
|
||||
sp := rt.IndexChar(val, 0)
|
||||
nb := len(val)
|
||||
|
||||
buf = rt.GuardSlice2(buf, nb+1)
|
||||
b := (*rt.GoSlice)(unsafe.Pointer(&buf))
|
||||
|
||||
// input buffer
|
||||
@@ -104,7 +105,9 @@ func Quote(buf []byte, val string, double bool) []byte {
|
||||
ret = ^ret
|
||||
// update input buffer
|
||||
nb -= ret
|
||||
sp = unsafe.Pointer(uintptr(sp) + uintptr(ret))
|
||||
if nb > 0 {
|
||||
sp = unsafe.Pointer(uintptr(sp) + uintptr(ret))
|
||||
}
|
||||
}
|
||||
|
||||
runtime.KeepAlive(buf)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// +build !amd64,!arm64 go1.25 !go1.16 arm64,!go1.20
|
||||
// +build !amd64,!arm64 go1.26 !go1.16 arm64,!go1.20
|
||||
|
||||
/**
|
||||
* Copyright 2024 ByteDance Inc.
|
||||
|
||||
+6
@@ -287,6 +287,12 @@ func (self *Compiler) compileMapBody(p *ir.Program, sp int, vt reflect.Type) {
|
||||
}
|
||||
|
||||
func (self *Compiler) compileMapBodyKey(p *ir.Program, vk reflect.Type) {
|
||||
// followed as `encoding/json/emcode.go:resolveKeyName
|
||||
if vk.Kind() == reflect.String {
|
||||
self.compileString(p, vk)
|
||||
return
|
||||
}
|
||||
|
||||
if !vk.Implements(vars.EncodingTextMarshalerType) {
|
||||
self.compileMapBodyTextKey(p, vk)
|
||||
} else {
|
||||
|
||||
+2
-1
@@ -28,6 +28,7 @@ import (
|
||||
"github.com/bytedance/sonic/internal/encoder/vars"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
"github.com/bytedance/sonic/option"
|
||||
"github.com/bytedance/gopkg/lang/dirtmake"
|
||||
)
|
||||
|
||||
// Options is a set of encoding options.
|
||||
@@ -193,7 +194,7 @@ func Encode(val interface{}, opts Options) ([]byte, error) {
|
||||
|
||||
/* make a copy of the result */
|
||||
if rt.CanSizeResue(cap(*buf)) {
|
||||
ret = make([]byte, len(*buf))
|
||||
ret = dirtmake.Bytes(len(*buf), len(*buf))
|
||||
copy(ret, *buf)
|
||||
vars.FreeBytes(buf)
|
||||
} else {
|
||||
|
||||
Generated
Vendored
+7
-6
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package alg
|
||||
package prim
|
||||
|
||||
import (
|
||||
"encoding"
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"reflect"
|
||||
"unsafe"
|
||||
|
||||
"github.com/bytedance/sonic/internal/encoder/alg"
|
||||
"github.com/bytedance/sonic/internal/encoder/vars"
|
||||
"github.com/bytedance/sonic/internal/resolver"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
@@ -70,11 +71,11 @@ func EncodeJsonMarshaler(buf *[]byte, val json.Marshaler, opt uint64) error {
|
||||
if ret, err := val.MarshalJSON(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
if opt&(1<<BitCompactMarshaler) != 0 {
|
||||
if opt&(1<<alg.BitCompactMarshaler) != 0 {
|
||||
return Compact(buf, ret)
|
||||
}
|
||||
if opt&(1<<BitNoValidateJSONMarshaler) == 0 {
|
||||
if ok, s := Valid(ret); !ok {
|
||||
if opt&(1<<alg.BitNoValidateJSONMarshaler) == 0 {
|
||||
if ok, s := alg.Valid(ret); !ok {
|
||||
return vars.Error_marshaler(ret, s)
|
||||
}
|
||||
}
|
||||
@@ -87,11 +88,11 @@ func EncodeTextMarshaler(buf *[]byte, val encoding.TextMarshaler, opt uint64) er
|
||||
if ret, err := val.MarshalText(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
if opt&(1<<BitNoQuoteTextMarshaler) != 0 {
|
||||
if opt&(1<<alg.BitNoQuoteTextMarshaler) != 0 {
|
||||
*buf = append(*buf, ret...)
|
||||
return nil
|
||||
}
|
||||
*buf = Quote(*buf, rt.Mem2Str(ret), false)
|
||||
*buf = alg.Quote(*buf, rt.Mem2Str(ret), false)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
+31
-9
@@ -17,13 +17,15 @@
|
||||
package vars
|
||||
|
||||
import (
|
||||
`encoding/json`
|
||||
`fmt`
|
||||
`reflect`
|
||||
`strconv`
|
||||
`unsafe`
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"strings"
|
||||
"unsafe"
|
||||
|
||||
`github.com/bytedance/sonic/internal/rt`
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
)
|
||||
|
||||
var ERR_too_deep = &json.UnsupportedValueError {
|
||||
@@ -59,11 +61,31 @@ const (
|
||||
PanicNilPointerOfNonEmptyString int = 1 + iota
|
||||
)
|
||||
|
||||
func GoPanic(code int, val unsafe.Pointer) {
|
||||
func GoPanic(code int, val unsafe.Pointer, buf string) {
|
||||
sb := strings.Builder{}
|
||||
switch(code){
|
||||
case PanicNilPointerOfNonEmptyString:
|
||||
panic(fmt.Sprintf("val: %#v has nil pointer while its length is not zero!\nThis is a nil pointer exception (NPE) problem. There might be a data race issue. It is recommended to execute the tests related to the code with the `-race` compile flag to detect the problem.", (*rt.GoString)(val)))
|
||||
sb.WriteString(fmt.Sprintf("val: %#v has nil pointer while its length is not zero!\nThis is a nil pointer exception (NPE) problem. There might be a data race issue. It is recommended to execute the tests related to the code with the `-race` compile flag to detect the problem.\n", (*rt.GoString)(val)))
|
||||
default:
|
||||
panic("encoder error!")
|
||||
sb.WriteString("encoder error: ")
|
||||
sb.WriteString(strconv.Itoa(code))
|
||||
sb.WriteString("\n")
|
||||
}
|
||||
sb.WriteString("JSON: ")
|
||||
if len(buf) > maxJSONLength {
|
||||
sb.WriteString(buf[len(buf)-maxJSONLength:])
|
||||
} else {
|
||||
sb.WriteString(buf)
|
||||
}
|
||||
panic(sb.String())
|
||||
}
|
||||
|
||||
var maxJSONLength = 1024
|
||||
|
||||
func init() {
|
||||
if v := os.Getenv("SONIC_PANIC_MAX_JSON_LENGTH"); v != "" {
|
||||
if i, err := strconv.Atoi(v); err == nil {
|
||||
maxJSONLength = i
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -22,13 +22,14 @@ import (
|
||||
|
||||
"github.com/bytedance/sonic/internal/encoder/alg"
|
||||
"github.com/bytedance/sonic/internal/encoder/ir"
|
||||
"github.com/bytedance/sonic/internal/encoder/prim"
|
||||
"github.com/bytedance/sonic/internal/encoder/vars"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
)
|
||||
|
||||
func EncodeTypedPointer(buf *[]byte, vt *rt.GoType, vp *unsafe.Pointer, sb *vars.Stack, fv uint64) error {
|
||||
if vt == nil {
|
||||
return alg.EncodeNil(buf)
|
||||
return prim.EncodeNil(buf)
|
||||
} else if pp, err := vars.FindOrCompile(vt, (fv&(1<<alg.BitPointerValue)) != 0, compiler); err != nil {
|
||||
return err
|
||||
} else if vt.Indirect() {
|
||||
|
||||
+7
-6
@@ -24,6 +24,7 @@ import (
|
||||
|
||||
"github.com/bytedance/sonic/internal/encoder/alg"
|
||||
"github.com/bytedance/sonic/internal/encoder/ir"
|
||||
"github.com/bytedance/sonic/internal/encoder/prim"
|
||||
"github.com/bytedance/sonic/internal/encoder/vars"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
)
|
||||
@@ -183,7 +184,7 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
|
||||
v := *(*json.Number)(p)
|
||||
if v == "" {
|
||||
buf = append(buf, '0')
|
||||
} else if !rt.IsValidNumber(string(v)) {
|
||||
} else if !alg.IsValidNumber(string(v)) {
|
||||
return vars.Error_number(v)
|
||||
} else {
|
||||
buf = append(buf, v...)
|
||||
@@ -242,13 +243,13 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
|
||||
case reflect.Ptr, reflect.Map : it = convT2I(p, true, itab)
|
||||
default : it = convT2I(p, !vt.Indirect(), itab)
|
||||
}
|
||||
if err := alg.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
if err := prim.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
return err
|
||||
}
|
||||
case ir.OP_marshal_text_p:
|
||||
_, itab := ins.Vtab()
|
||||
it := convT2I(p, false, itab)
|
||||
if err := alg.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
if err := prim.EncodeTextMarshaler(&buf, *(*encoding.TextMarshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
return err
|
||||
}
|
||||
case ir.OP_map_write_key:
|
||||
@@ -285,7 +286,7 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
|
||||
}
|
||||
case ir.OP_is_zero:
|
||||
fv := ins.VField()
|
||||
if alg.IsZero(p, fv) {
|
||||
if prim.IsZero(p, fv) {
|
||||
pc = ins.Vi()
|
||||
continue
|
||||
}
|
||||
@@ -334,13 +335,13 @@ func Execute(b *[]byte, p unsafe.Pointer, s *vars.Stack, flags uint64, prog *ir.
|
||||
case reflect.Ptr, reflect.Map : it = convT2I(p, true, itab)
|
||||
default : it = convT2I(p, !vt.Indirect(), itab)
|
||||
}
|
||||
if err := alg.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
if err := prim.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
return err
|
||||
}
|
||||
case ir.OP_marshal_p:
|
||||
_, itab := ins.Vtab()
|
||||
it := convT2I(p, false, itab)
|
||||
if err := alg.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
if err := prim.EncodeJsonMarshaler(&buf, *(*json.Marshaler)(unsafe.Pointer(&it)), (flags)); err != nil {
|
||||
return err
|
||||
}
|
||||
case ir.OP_unsupported:
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
//go:build go1.21 && !go1.25
|
||||
// +build go1.21,!go1.25
|
||||
//go:build go1.21 && !go1.26
|
||||
// +build go1.21,!go1.26
|
||||
|
||||
// Copyright 2023 CloudWeGo Authors
|
||||
//
|
||||
|
||||
+9
-6
@@ -1,5 +1,5 @@
|
||||
//go:build go1.17 && !go1.25
|
||||
// +build go1.17,!go1.25
|
||||
//go:build go1.17 && !go1.26
|
||||
// +build go1.17,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
@@ -28,6 +28,7 @@ import (
|
||||
"github.com/bytedance/sonic/internal/cpu"
|
||||
"github.com/bytedance/sonic/internal/encoder/alg"
|
||||
"github.com/bytedance/sonic/internal/encoder/ir"
|
||||
"github.com/bytedance/sonic/internal/encoder/prim"
|
||||
"github.com/bytedance/sonic/internal/encoder/vars"
|
||||
"github.com/bytedance/sonic/internal/jit"
|
||||
"github.com/bytedance/sonic/internal/native/types"
|
||||
@@ -662,6 +663,8 @@ var (
|
||||
func (self *Assembler) go_panic() {
|
||||
self.Link(_LB_panic)
|
||||
self.Emit("MOVQ", _SP_p, _BX)
|
||||
self.Emit("MOVQ", _RP, _CX)
|
||||
self.Emit("MOVQ", _RL, _DI)
|
||||
self.call_go(_F_panic)
|
||||
}
|
||||
|
||||
@@ -764,7 +767,7 @@ var (
|
||||
var (
|
||||
_F_memmove = jit.Func(rt.Memmove)
|
||||
_F_error_number = jit.Func(vars.Error_number)
|
||||
_F_isValidNumber = jit.Func(rt.IsValidNumber)
|
||||
_F_isValidNumber = jit.Func(alg.IsValidNumber)
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -784,8 +787,8 @@ const (
|
||||
)
|
||||
|
||||
func init() {
|
||||
_F_encodeJsonMarshaler = jit.Func(alg.EncodeJsonMarshaler)
|
||||
_F_encodeTextMarshaler = jit.Func(alg.EncodeTextMarshaler)
|
||||
_F_encodeJsonMarshaler = jit.Func(prim.EncodeJsonMarshaler)
|
||||
_F_encodeTextMarshaler = jit.Func(prim.EncodeTextMarshaler)
|
||||
_F_encodeTypedPointer = jit.Func(EncodeTypedPointer)
|
||||
}
|
||||
|
||||
@@ -1100,7 +1103,7 @@ func (self *Assembler) _asm_OP_is_zero_map(p *ir.Instr) {
|
||||
}
|
||||
|
||||
var (
|
||||
_F_is_zero = jit.Func(alg.IsZero)
|
||||
_F_is_zero = jit.Func(prim.IsZero)
|
||||
_T_reflect_Type = rt.UnpackIface(reflect.Type(nil))
|
||||
)
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
//go:build go1.17 && !go1.25
|
||||
// +build go1.17,!go1.25
|
||||
//go:build go1.17 && !go1.26
|
||||
// +build go1.17,!go1.26
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+2
-1
@@ -21,6 +21,7 @@ import (
|
||||
_ "unsafe"
|
||||
|
||||
"github.com/bytedance/sonic/internal/encoder/alg"
|
||||
"github.com/bytedance/sonic/internal/encoder/prim"
|
||||
"github.com/bytedance/sonic/internal/encoder/vars"
|
||||
"github.com/bytedance/sonic/internal/rt"
|
||||
"github.com/bytedance/sonic/loader"
|
||||
@@ -39,7 +40,7 @@ func ptoenc(p loader.Function) vars.Encoder {
|
||||
|
||||
func EncodeTypedPointer(buf *[]byte, vt *rt.GoType, vp *unsafe.Pointer, sb *vars.Stack, fv uint64) error {
|
||||
if vt == nil {
|
||||
return alg.EncodeNil(buf)
|
||||
return prim.EncodeNil(buf)
|
||||
} else if fn, err := vars.FindOrCompile(vt, (fv&(1<<alg.BitPointerValue)) != 0, compiler); err != nil {
|
||||
return err
|
||||
} else if vt.Indirect() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+10
-10
@@ -16,7 +16,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
_size__get_by_path = 21452
|
||||
_size__get_by_path = 22296
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -28,15 +28,15 @@ var (
|
||||
{0xc, 32},
|
||||
{0xd, 40},
|
||||
{0x14, 48},
|
||||
{0x4a1c, 240},
|
||||
{0x4a1d, 48},
|
||||
{0x4a1f, 40},
|
||||
{0x4a21, 32},
|
||||
{0x4a23, 24},
|
||||
{0x4a25, 16},
|
||||
{0x4a26, 8},
|
||||
{0x4a2a, 0},
|
||||
{0x53cc, 240},
|
||||
{0x4ca0, 240},
|
||||
{0x4ca1, 48},
|
||||
{0x4ca3, 40},
|
||||
{0x4ca5, 32},
|
||||
{0x4ca7, 24},
|
||||
{0x4ca9, 16},
|
||||
{0x4caa, 8},
|
||||
{0x4cae, 0},
|
||||
{0x5718, 240},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
+6259
-6089
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
Generated
Vendored
+21
-21
@@ -174,7 +174,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x0f, 0xb6, 0x02, //0x00000300 movzbl (%rdx), %eax
|
||||
0x48, 0x83, 0xf8, 0x20, //0x00000303 cmpq $32, %rax
|
||||
0x0f, 0x87, 0xef, 0x00, 0x00, 0x00, //0x00000307 ja LBB5_13
|
||||
0x48, 0xb9, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000030d movabsq $4294977025, %rcx
|
||||
0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000030d movabsq $4294977024, %rcx
|
||||
0x48, 0x0f, 0xa3, 0xc1, //0x00000317 btq %rax, %rcx
|
||||
0x0f, 0x83, 0xdb, 0x00, 0x00, 0x00, //0x0000031b jae LBB5_13
|
||||
0x0f, 0xb6, 0x42, 0x01, //0x00000321 movzbl $1(%rdx), %eax
|
||||
@@ -404,7 +404,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x00000684 movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00000688 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x99, 0x0e, 0x00, 0x00, //0x0000068c ja LBB5_254
|
||||
0x48, 0xbe, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000692 movabsq $4294977025, %rsi
|
||||
0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00000692 movabsq $4294977024, %rsi
|
||||
0x48, 0x0f, 0xa3, 0xce, //0x0000069c btq %rcx, %rsi
|
||||
0x0f, 0x83, 0x85, 0x0e, 0x00, 0x00, //0x000006a0 jae LBB5_254
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x000006a6 movzbl $1(%r15), %ecx
|
||||
@@ -485,7 +485,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x000007e5 movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x000007e9 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0xc8, 0x0d, 0x00, 0x00, //0x000007ed ja LBB5_261
|
||||
0x48, 0xbe, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000007f3 movabsq $4294977025, %rsi
|
||||
0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000007f3 movabsq $4294977024, %rsi
|
||||
0x48, 0x0f, 0xa3, 0xce, //0x000007fd btq %rcx, %rsi
|
||||
0x0f, 0x83, 0xb4, 0x0d, 0x00, 0x00, //0x00000801 jae LBB5_261
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x00000807 movzbl $1(%r15), %ecx
|
||||
@@ -3012,7 +3012,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x0f, 0xb6, 0x0a, //0x00002d4f movzbl (%rdx), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00002d52 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x6b, 0x08, 0x00, 0x00, //0x00002d56 ja LBB5_671
|
||||
0x48, 0xbe, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002d5c movabsq $4294977025, %rsi
|
||||
0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00002d5c movabsq $4294977024, %rsi
|
||||
0x48, 0x0f, 0xa3, 0xce, //0x00002d66 btq %rcx, %rsi
|
||||
0x0f, 0x83, 0x57, 0x08, 0x00, 0x00, //0x00002d6a jae LBB5_671
|
||||
0x0f, 0xb6, 0x4a, 0x01, //0x00002d70 movzbl $1(%rdx), %ecx
|
||||
@@ -3307,7 +3307,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x0f, 0xb6, 0x0a, //0x000031d9 movzbl (%rdx), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x000031dc cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x79, 0x04, 0x00, 0x00, //0x000031e0 ja LBB5_678
|
||||
0x48, 0xbe, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000031e6 movabsq $4294977025, %rsi
|
||||
0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000031e6 movabsq $4294977024, %rsi
|
||||
0x48, 0x0f, 0xa3, 0xce, //0x000031f0 btq %rcx, %rsi
|
||||
0x0f, 0x83, 0x65, 0x04, 0x00, 0x00, //0x000031f4 jae LBB5_678
|
||||
0x0f, 0xb6, 0x4a, 0x01, //0x000031fa movzbl $1(%rdx), %ecx
|
||||
@@ -3352,7 +3352,7 @@ var _text_parse_with_padding = []byte{
|
||||
0xc7, 0x45, 0x88, 0x00, 0x00, 0x00, 0x00, //0x0000329b movl $0, $-120(%rbp)
|
||||
0x48, 0x83, 0xf9, 0x20, //0x000032a2 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x80, 0x04, 0x00, 0x00, //0x000032a6 ja LBB5_694
|
||||
0x48, 0xb8, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000032ac movabsq $4294977025, %rax
|
||||
0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x000032ac movabsq $4294977024, %rax
|
||||
0x48, 0x0f, 0xa3, 0xc8, //0x000032b6 btq %rcx, %rax
|
||||
0x0f, 0x83, 0x6c, 0x04, 0x00, 0x00, //0x000032ba jae LBB5_694
|
||||
0x0f, 0xb6, 0x4a, 0x01, //0x000032c0 movzbl $1(%rdx), %ecx
|
||||
@@ -3441,7 +3441,7 @@ var _text_parse_with_padding = []byte{
|
||||
0xc7, 0x45, 0x88, 0x00, 0x00, 0x00, 0x00, //0x000033fa movl $0, $-120(%rbp)
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00003401 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x5b, 0x0a, 0x00, 0x00, //0x00003405 ja LBB5_774
|
||||
0x48, 0xb8, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000340b movabsq $4294977025, %rax
|
||||
0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000340b movabsq $4294977024, %rax
|
||||
0x48, 0x0f, 0xa3, 0xc8, //0x00003415 btq %rcx, %rax
|
||||
0x0f, 0x83, 0x47, 0x0a, 0x00, 0x00, //0x00003419 jae LBB5_774
|
||||
0x0f, 0xb6, 0x4a, 0x01, //0x0000341f movzbl $1(%rdx), %ecx
|
||||
@@ -4332,7 +4332,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x0f, 0xb6, 0x08, //0x00004145 movzbl (%rax), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00004148 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x74, 0x00, 0x00, 0x00, //0x0000414c ja LBB5_1935
|
||||
0x48, 0xba, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004152 movabsq $4294977025, %rdx
|
||||
0x48, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004152 movabsq $4294977024, %rdx
|
||||
0x48, 0x0f, 0xa3, 0xca, //0x0000415c btq %rcx, %rdx
|
||||
0x0f, 0x83, 0x60, 0x00, 0x00, 0x00, //0x00004160 jae LBB5_1935
|
||||
0x0f, 0xb6, 0x48, 0x01, //0x00004166 movzbl $1(%rax), %ecx
|
||||
@@ -4452,7 +4452,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x0f, 0xb6, 0x0e, //0x00004323 movzbl (%rsi), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00004326 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0xec, 0x00, 0x00, 0x00, //0x0000432a ja LBB5_832
|
||||
0x48, 0xbb, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004330 movabsq $4294977025, %rbx
|
||||
0x48, 0xbb, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004330 movabsq $4294977024, %rbx
|
||||
0x48, 0x0f, 0xa3, 0xcb, //0x0000433a btq %rcx, %rbx
|
||||
0x0f, 0x83, 0xd8, 0x00, 0x00, 0x00, //0x0000433e jae LBB5_832
|
||||
0x0f, 0xb6, 0x4e, 0x01, //0x00004344 movzbl $1(%rsi), %ecx
|
||||
@@ -4531,7 +4531,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x48, 0x83, 0xf8, 0x20, //0x0000446e cmpq $32, %rax
|
||||
0x4c, 0x89, 0x6d, 0xc0, //0x00004472 movq %r13, $-64(%rbp)
|
||||
0x0f, 0x87, 0xf0, 0x00, 0x00, 0x00, //0x00004476 ja LBB5_847
|
||||
0x48, 0xb9, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000447c movabsq $4294977025, %rcx
|
||||
0x48, 0xb9, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000447c movabsq $4294977024, %rcx
|
||||
0x48, 0x0f, 0xa3, 0xc1, //0x00004486 btq %rax, %rcx
|
||||
0x0f, 0x83, 0xdc, 0x00, 0x00, 0x00, //0x0000448a jae LBB5_847
|
||||
0x0f, 0xb6, 0x42, 0x01, //0x00004490 movzbl $1(%rdx), %eax
|
||||
@@ -4772,7 +4772,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x00004828 movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x0000482c cmpq $32, %rcx
|
||||
0x0f, 0x87, 0xc5, 0x0d, 0x00, 0x00, //0x00004830 ja LBB5_1079
|
||||
0x48, 0xbe, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004836 movabsq $4294977025, %rsi
|
||||
0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004836 movabsq $4294977024, %rsi
|
||||
0x48, 0x0f, 0xa3, 0xce, //0x00004840 btq %rcx, %rsi
|
||||
0x0f, 0x83, 0xb1, 0x0d, 0x00, 0x00, //0x00004844 jae LBB5_1079
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x0000484a movzbl $1(%r15), %ecx
|
||||
@@ -4853,7 +4853,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x00004986 movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x0000498a cmpq $32, %rcx
|
||||
0x0f, 0x87, 0xf7, 0x0c, 0x00, 0x00, //0x0000498e ja LBB5_1091
|
||||
0x48, 0xbe, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004994 movabsq $4294977025, %rsi
|
||||
0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00004994 movabsq $4294977024, %rsi
|
||||
0x48, 0x0f, 0xa3, 0xce, //0x0000499e btq %rcx, %rsi
|
||||
0x0f, 0x83, 0xe3, 0x0c, 0x00, 0x00, //0x000049a2 jae LBB5_1091
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x000049a8 movzbl $1(%r15), %ecx
|
||||
@@ -8405,7 +8405,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x00007eb0 movzbl (%r12), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00007eb5 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x29, 0x02, 0x00, 0x00, //0x00007eb9 ja LBB5_1180
|
||||
0x48, 0xb8, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00007ebf movabsq $4294977025, %rax
|
||||
0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00007ebf movabsq $4294977024, %rax
|
||||
0x48, 0x0f, 0xa3, 0xc8, //0x00007ec9 btq %rcx, %rax
|
||||
0x48, 0x8b, 0x75, 0xb0, //0x00007ecd movq $-80(%rbp), %rsi
|
||||
0x0f, 0x83, 0x09, 0x02, 0x00, 0x00, //0x00007ed1 jae LBB5_1179
|
||||
@@ -8476,7 +8476,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x00007fdd movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00007fe1 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x7b, 0xc2, 0xff, 0xff, //0x00007fe5 ja LBB5_812
|
||||
0x48, 0xba, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00007feb movabsq $4294977025, %rdx
|
||||
0x48, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00007feb movabsq $4294977024, %rdx
|
||||
0x48, 0x0f, 0xa3, 0xca, //0x00007ff5 btq %rcx, %rdx
|
||||
0x0f, 0x83, 0x67, 0xc2, 0xff, 0xff, //0x00007ff9 jae LBB5_812
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x00007fff movzbl $1(%r15), %ecx
|
||||
@@ -9047,14 +9047,14 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x00008828 movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x0000882c cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x8a, 0x00, 0x00, 0x00, //0x00008830 ja LBB5_1699
|
||||
0x48, 0xbf, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00008836 movabsq $4294977025, %rdi
|
||||
0x48, 0xbf, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00008836 movabsq $4294977024, %rdi
|
||||
0x48, 0x0f, 0xa3, 0xcf, //0x00008840 btq %rcx, %rdi
|
||||
0x0f, 0x83, 0x76, 0x00, 0x00, 0x00, //0x00008844 jae LBB5_1699
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x0000884a movzbl $1(%r15), %ecx
|
||||
0x49, 0x83, 0xc7, 0x02, //0x0000884f addq $2, %r15
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00008853 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x55, 0x00, 0x00, 0x00, //0x00008857 ja LBB5_1704
|
||||
0x48, 0xb8, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000885d movabsq $4294977025, %rax
|
||||
0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000885d movabsq $4294977024, %rax
|
||||
0x48, 0x0f, 0xa3, 0xc8, //0x00008867 btq %rcx, %rax
|
||||
0x0f, 0x83, 0x41, 0x00, 0x00, 0x00, //0x0000886b jae LBB5_1704
|
||||
0x49, 0x8b, 0xbb, 0x90, 0x00, 0x00, 0x00, //0x00008871 movq $144(%r11), %rdi
|
||||
@@ -9304,14 +9304,14 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x00008c2a movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00008c2e cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x23, 0x0d, 0x00, 0x00, //0x00008c32 ja LBB5_1928
|
||||
0x48, 0xbe, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00008c38 movabsq $4294977025, %rsi
|
||||
0x48, 0xbe, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00008c38 movabsq $4294977024, %rsi
|
||||
0x48, 0x0f, 0xa3, 0xce, //0x00008c42 btq %rcx, %rsi
|
||||
0x0f, 0x83, 0x0f, 0x0d, 0x00, 0x00, //0x00008c46 jae LBB5_1928
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x00008c4c movzbl $1(%r15), %ecx
|
||||
0x49, 0x83, 0xc7, 0x02, //0x00008c51 addq $2, %r15
|
||||
0x48, 0x83, 0xf9, 0x20, //0x00008c55 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x3a, 0x0c, 0x00, 0x00, //0x00008c59 ja LBB5_1951
|
||||
0x48, 0xb8, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00008c5f movabsq $4294977025, %rax
|
||||
0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x00008c5f movabsq $4294977024, %rax
|
||||
0x48, 0x0f, 0xa3, 0xc8, //0x00008c69 btq %rcx, %rax
|
||||
0x0f, 0x83, 0x26, 0x0c, 0x00, 0x00, //0x00008c6d jae LBB5_1951
|
||||
0x49, 0x8b, 0xb3, 0x90, 0x00, 0x00, 0x00, //0x00008c73 movq $144(%r11), %rsi
|
||||
@@ -12002,7 +12002,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0c, 0x24, //0x0000b3ed movzbl (%r12), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x0000b3f2 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x2c, 0x02, 0x00, 0x00, //0x0000b3f6 ja LBB5_2048
|
||||
0x48, 0xb8, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000b3fc movabsq $4294977025, %rax
|
||||
0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000b3fc movabsq $4294977024, %rax
|
||||
0x48, 0x0f, 0xa3, 0xc8, //0x0000b406 btq %rcx, %rax
|
||||
0x48, 0x8b, 0x75, 0xb0, //0x0000b40a movq $-80(%rbp), %rsi
|
||||
0x0f, 0x83, 0x0c, 0x02, 0x00, 0x00, //0x0000b40e jae LBB5_2047
|
||||
@@ -12010,7 +12010,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x49, 0x83, 0xc4, 0x02, //0x0000b41a addq $2, %r12
|
||||
0x48, 0x83, 0xf9, 0x20, //0x0000b41e cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x58, 0x00, 0x00, 0x00, //0x0000b422 ja LBB5_2028
|
||||
0x48, 0xb8, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000b428 movabsq $4294977025, %rax
|
||||
0x48, 0xb8, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000b428 movabsq $4294977024, %rax
|
||||
0x48, 0x0f, 0xa3, 0xc8, //0x0000b432 btq %rcx, %rax
|
||||
0x0f, 0x83, 0x44, 0x00, 0x00, 0x00, //0x0000b436 jae LBB5_2028
|
||||
0x49, 0x8b, 0x83, 0x90, 0x00, 0x00, 0x00, //0x0000b43c movq $144(%r11), %rax
|
||||
@@ -12073,7 +12073,7 @@ var _text_parse_with_padding = []byte{
|
||||
0x41, 0x0f, 0xb6, 0x0f, //0x0000b51d movzbl (%r15), %ecx
|
||||
0x48, 0x83, 0xf9, 0x20, //0x0000b521 cmpq $32, %rcx
|
||||
0x0f, 0x87, 0x38, 0xd2, 0xff, 0xff, //0x0000b525 ja LBB5_1681
|
||||
0x48, 0xba, 0x01, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000b52b movabsq $4294977025, %rdx
|
||||
0x48, 0xba, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0000b52b movabsq $4294977024, %rdx
|
||||
0x48, 0x0f, 0xa3, 0xca, //0x0000b535 btq %rcx, %rdx
|
||||
0x0f, 0x83, 0x24, 0xd2, 0xff, 0xff, //0x0000b539 jae LBB5_1681
|
||||
0x41, 0x0f, 0xb6, 0x4f, 0x01, //0x0000b53f movzbl $1(%r15), %ecx
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+10
-10
@@ -16,7 +16,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
_size__skip_array = 15136
|
||||
_size__skip_array = 15384
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -28,15 +28,15 @@ var (
|
||||
{0xc, 32},
|
||||
{0xd, 40},
|
||||
{0x14, 48},
|
||||
{0x38dd, 208},
|
||||
{0x38de, 48},
|
||||
{0x38e0, 40},
|
||||
{0x38e2, 32},
|
||||
{0x38e4, 24},
|
||||
{0x38e6, 16},
|
||||
{0x38e7, 8},
|
||||
{0x38eb, 0},
|
||||
{0x3b20, 208},
|
||||
{0x3a59, 208},
|
||||
{0x3a5a, 48},
|
||||
{0x3a5c, 40},
|
||||
{0x3a5e, 32},
|
||||
{0x3a60, 24},
|
||||
{0x3a62, 16},
|
||||
{0x3a63, 8},
|
||||
{0x3a67, 0},
|
||||
{0x3c18, 208},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
+4129
-4068
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+10
-10
@@ -16,7 +16,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
_size__skip_object = 15136
|
||||
_size__skip_object = 15384
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -28,15 +28,15 @@ var (
|
||||
{0xc, 32},
|
||||
{0xd, 40},
|
||||
{0x14, 48},
|
||||
{0x38dd, 208},
|
||||
{0x38de, 48},
|
||||
{0x38e0, 40},
|
||||
{0x38e2, 32},
|
||||
{0x38e4, 24},
|
||||
{0x38e6, 16},
|
||||
{0x38e7, 8},
|
||||
{0x38eb, 0},
|
||||
{0x3b20, 208},
|
||||
{0x3a59, 208},
|
||||
{0x3a5a, 48},
|
||||
{0x3a5c, 40},
|
||||
{0x3a5e, 32},
|
||||
{0x3a60, 24},
|
||||
{0x3a62, 16},
|
||||
{0x3a63, 8},
|
||||
{0x3a67, 0},
|
||||
{0x3c18, 208},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
+4129
-4068
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+10
-10
@@ -16,7 +16,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
_size__skip_one_fast = 2824
|
||||
_size__skip_one_fast = 3052
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -28,15 +28,15 @@ var (
|
||||
{0xc, 32},
|
||||
{0xd, 40},
|
||||
{0x14, 48},
|
||||
{0x32c, 176},
|
||||
{0x32d, 48},
|
||||
{0x32f, 40},
|
||||
{0x331, 32},
|
||||
{0x333, 24},
|
||||
{0x335, 16},
|
||||
{0x336, 8},
|
||||
{0x33a, 0},
|
||||
{0xb08, 176},
|
||||
{0xa8c, 176},
|
||||
{0xa8d, 48},
|
||||
{0xa8f, 40},
|
||||
{0xa91, 32},
|
||||
{0xa93, 24},
|
||||
{0xa95, 16},
|
||||
{0xa96, 8},
|
||||
{0xa9a, 0},
|
||||
{0xbec, 176},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Generated
Vendored
+852
-805
File diff suppressed because it is too large
Load Diff
+10
-10
@@ -16,7 +16,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
_size__skip_one = 13564
|
||||
_size__skip_one = 13740
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -28,15 +28,15 @@ var (
|
||||
{0xc, 32},
|
||||
{0xd, 40},
|
||||
{0x14, 48},
|
||||
{0x323f, 208},
|
||||
{0x3240, 48},
|
||||
{0x3242, 40},
|
||||
{0x3244, 32},
|
||||
{0x3246, 24},
|
||||
{0x3248, 16},
|
||||
{0x3249, 8},
|
||||
{0x324d, 0},
|
||||
{0x34fc, 208},
|
||||
{0x329f, 208},
|
||||
{0x32a0, 48},
|
||||
{0x32a2, 40},
|
||||
{0x32a4, 32},
|
||||
{0x32a6, 24},
|
||||
{0x32a8, 16},
|
||||
{0x32a9, 8},
|
||||
{0x32ad, 0},
|
||||
{0x35ac, 208},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
+3721
-3679
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+10
-10
@@ -16,7 +16,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
_size__unquote = 2288
|
||||
_size__unquote = 2272
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -28,15 +28,15 @@ var (
|
||||
{0xc, 32},
|
||||
{0xd, 40},
|
||||
{0x11, 48},
|
||||
{0x5f8, 80},
|
||||
{0x5f9, 48},
|
||||
{0x5fb, 40},
|
||||
{0x5fd, 32},
|
||||
{0x5ff, 24},
|
||||
{0x601, 16},
|
||||
{0x602, 8},
|
||||
{0x606, 0},
|
||||
{0x8f0, 80},
|
||||
{0x5e8, 80},
|
||||
{0x5e9, 48},
|
||||
{0x5eb, 40},
|
||||
{0x5ed, 32},
|
||||
{0x5ef, 24},
|
||||
{0x5f1, 16},
|
||||
{0x5f2, 8},
|
||||
{0x5f6, 0},
|
||||
{0x8e0, 80},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
+501
-513
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+10
-10
@@ -16,7 +16,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
_size__validate_one = 15136
|
||||
_size__validate_one = 15384
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -28,15 +28,15 @@ var (
|
||||
{0xc, 32},
|
||||
{0xd, 40},
|
||||
{0x14, 48},
|
||||
{0x38dd, 208},
|
||||
{0x38de, 48},
|
||||
{0x38e0, 40},
|
||||
{0x38e2, 32},
|
||||
{0x38e4, 24},
|
||||
{0x38e6, 16},
|
||||
{0x38e7, 8},
|
||||
{0x38eb, 0},
|
||||
{0x3b20, 208},
|
||||
{0x3a59, 208},
|
||||
{0x3a5a, 48},
|
||||
{0x3a5c, 40},
|
||||
{0x3a5e, 32},
|
||||
{0x3a60, 24},
|
||||
{0x3a62, 16},
|
||||
{0x3a63, 8},
|
||||
{0x3a67, 0},
|
||||
{0x3c18, 208},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Generated
Vendored
+4129
-4068
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+4
-4
@@ -12,15 +12,15 @@
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
*/
|
||||
|
||||
package native
|
||||
|
||||
import (
|
||||
`unsafe`
|
||||
"unsafe"
|
||||
|
||||
neon `github.com/bytedance/sonic/internal/native/neon`
|
||||
`github.com/bytedance/sonic/internal/native/types`
|
||||
neon "github.com/bytedance/sonic/internal/native/neon"
|
||||
"github.com/bytedance/sonic/internal/native/types"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
// +build amd64
|
||||
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
// +build amd64
|
||||
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
// +build amd64
|
||||
|
||||
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
@@ -151,7 +151,7 @@ func TestNative_UnquoteError(t *testing.T) {
|
||||
sp = (*rt.GoString)(unsafe.Pointer(&s))
|
||||
rv = unquote(sp.Ptr, sp.Len, dp.Ptr, &ep, types.F_DOUBLE_UNQUOTE)
|
||||
assert.Equal(t, -int(types.ERR_INVALID_UNICODE), rv)
|
||||
assert.Equal(t, 7, ep)
|
||||
assert.Equal(t, 6, ep)
|
||||
s = `asdf\ud800\ud800qwer`
|
||||
d = make([]byte, 0, len(s))
|
||||
ep = -1
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -916,7 +916,7 @@ _Digits:
|
||||
WORD $0x37393639 // .ascii 4, '96979899'
|
||||
WORD $0x39393839 // .ascii 4, '9899'
|
||||
WORD $0x00000000 // .p2align 3, 0x00
|
||||
_LB_1382e0fe: // _pow10_ceil_sig_f32.g
|
||||
_LB_e87888fd: // _pow10_ceil_sig_f32.g
|
||||
WORD $0x4b43fcf5; WORD $0x81ceb32c // .quad -9093133594791772939
|
||||
WORD $0x5e14fc32; WORD $0xa2425ff7 // .quad -6754730975062328270
|
||||
WORD $0x359a3b3f; WORD $0xcad2f7f5 // .quad -3831727700400522433
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1232,7 +1232,7 @@ _Digits:
|
||||
WORD $0x37393639 // .ascii 4, '96979899'
|
||||
WORD $0x39393839 // .ascii 4, '9899'
|
||||
// .p2align 3, 0x00
|
||||
_LB_f1eb3d41: // _pow10_ceil_sig.g
|
||||
_LB_07e916ff: // _pow10_ceil_sig.g
|
||||
WORD $0xbebcdc4f; WORD $0xff77b1fc // .quad -38366372719436721
|
||||
WORD $0x13bb0f7b; WORD $0x25e8e89c // .quad 2731688931043774331
|
||||
WORD $0xf73609b1; WORD $0x9faacf3d // .quad -6941508010590729807
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+3060
-2805
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -13,7 +13,7 @@ var (
|
||||
)
|
||||
|
||||
const (
|
||||
_stack__get_by_path = 208
|
||||
_stack__get_by_path = 224
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Code generated by Makefile, DO NOT EDIT.
|
||||
// Code generated by scripts, DO NOT EDIT.
|
||||
|
||||
/*
|
||||
* Copyright 2021 ByteDance Inc.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user