@ttsc/win32-arm64 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/go/VERSION +2 -2
- package/bin/go/bin/go.exe +0 -0
- package/bin/go/bin/gofmt.exe +0 -0
- package/bin/go/lib/time/update.bash +2 -2
- package/bin/go/lib/time/zoneinfo.zip +0 -0
- package/bin/go/pkg/include/asm_ppc64x.h +0 -16
- package/bin/go/pkg/tool/windows_arm64/asm.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cgo.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/compile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cover.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/fix.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/link.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/preprofile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/vet.exe +0 -0
- package/bin/go/src/archive/tar/reader.go +2 -1
- package/bin/go/src/archive/zip/reader.go +5 -29
- package/bin/go/src/archive/zip/struct.go +5 -6
- package/bin/go/src/archive/zip/writer.go +120 -60
- package/bin/go/src/bufio/bufio.go +1 -1
- package/bin/go/src/bytes/buffer.go +3 -3
- package/bin/go/src/bytes/bytes.go +45 -25
- package/bin/go/src/compress/flate/deflate.go +512 -363
- package/bin/go/src/compress/flate/deflatefast.go +156 -262
- package/bin/go/src/compress/flate/dict_decoder.go +1 -4
- package/bin/go/src/compress/flate/huffman_bit_writer.go +673 -250
- package/bin/go/src/compress/flate/huffman_code.go +164 -92
- package/bin/go/src/compress/flate/level1.go +195 -0
- package/bin/go/src/compress/flate/level2.go +190 -0
- package/bin/go/src/compress/flate/level3.go +228 -0
- package/bin/go/src/compress/flate/level4.go +200 -0
- package/bin/go/src/compress/flate/level5.go +287 -0
- package/bin/go/src/compress/flate/level6.go +297 -0
- package/bin/go/src/compress/flate/load_store.go +43 -0
- package/bin/go/src/compress/flate/regmask_amd64.go +9 -0
- package/bin/go/src/compress/flate/regmask_other.go +11 -0
- package/bin/go/src/compress/flate/token.go +238 -26
- package/bin/go/src/compress/gzip/gzip.go +8 -0
- package/bin/go/src/compress/zlib/writer.go +12 -0
- package/bin/go/src/context/context.go +6 -5
- package/bin/go/src/crypto/cipher/gcm.go +0 -4
- package/bin/go/src/crypto/crypto.go +27 -4
- package/bin/go/src/crypto/des/const.go +1 -1
- package/bin/go/src/crypto/ecdsa/ecdsa.go +21 -4
- package/bin/go/src/crypto/ed25519/ed25519.go +13 -0
- package/bin/go/src/crypto/internal/boring/aes.go +2 -3
- package/bin/go/src/crypto/internal/cryptotest/aead.go +53 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary.go +34 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary_compat.go +16 -0
- package/bin/go/src/crypto/internal/cryptotest/fetchmodule.go +9 -3
- package/bin/go/src/crypto/internal/cryptotest/fips140.go +62 -3
- package/bin/go/src/crypto/internal/cryptotest/hash.go +14 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.mod +19 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.sum +27 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/schema_gen.go +151 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schema.go +9792 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schemaversion.go +11 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/wycheproof.go +165 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.mod +14 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.sum +25 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/schema_gen.go +125 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schema.go +591 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schemaversion.go +14 -0
- package/bin/go/src/crypto/internal/fips140/aes/_asm/ctr/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/_asm/standard/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/gcm_amd64_asm.go +36 -32
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.mod +5 -5
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.sum +8 -6
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_amd64.s +29 -17
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_arm64.s +73 -72
- package/bin/go/src/crypto/internal/fips140/aes/gcm/ghash.go +140 -124
- package/bin/go/src/crypto/internal/fips140/bigmod/nat.go +18 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_loong64.s +23 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_none.go +1 -1
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_stub.go +1 -1
- package/bin/go/src/crypto/internal/fips140/drbg/rand.go +12 -4
- package/bin/go/src/crypto/internal/fips140/ecdsa/ecdsa.go +17 -10
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/_asm/fe_amd64_asm.go +0 -90
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe.go +64 -97
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.go +0 -5
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.s +0 -167
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64_noasm.go +0 -2
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_generic.go +57 -1
- package/bin/go/src/crypto/internal/fips140/edwards25519/scalarmult.go +3 -2
- package/bin/go/src/crypto/internal/fips140/mldsa/mldsa.go +31 -25
- package/bin/go/src/crypto/internal/fips140/mldsa/semiexpanded.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.mod +4 -4
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.sum +6 -0
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/p256_asm.go +1 -613
- package/bin/go/src/crypto/internal/fips140/nistec/p256.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm.go +7 -6
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_amd64.s +0 -503
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_arm64.s +4 -429
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv.go +511 -47
- package/bin/go/src/crypto/internal/fips140/pbkdf2/pbkdf2.go +1 -1
- package/bin/go/src/crypto/internal/fips140/rsa/keygen.go +48 -46
- package/bin/go/src/crypto/internal/fips140/rsa/largeexponent.go +365 -0
- package/bin/go/src/crypto/internal/fips140/rsa/pkcs1v15.go +27 -0
- package/bin/go/src/crypto/internal/fips140/sha256/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha3/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha512/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/constant_time.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_asm.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.go +18 -0
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.s +33 -2
- package/bin/go/src/crypto/internal/fips140deps/cpu/cpu.go +2 -0
- package/bin/go/src/crypto/internal/fips140deps/time/time.go +7 -4
- package/bin/go/src/crypto/internal/fips140only/fips140only.go +0 -7
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.0.go +17 -0
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.28.go +16 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_capabilities_fips140v1.28.json +86 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_test_fips140v1.28.config.json +58 -0
- package/bin/go/src/crypto/internal/rand/rand.go +14 -14
- package/bin/go/src/crypto/internal/rand/random_fips140v1.0.go +20 -0
- package/bin/go/src/crypto/internal/rand/random_fips140v1.28.go +19 -0
- package/bin/go/src/crypto/mldsa/mldsa.go +97 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.0.go +116 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.26.go +226 -0
- package/bin/go/src/crypto/mlkem/mlkem.go +8 -2
- package/bin/go/src/crypto/rsa/fips.go +26 -8
- package/bin/go/src/crypto/rsa/pkcs1v15.go +2 -2
- package/bin/go/src/crypto/rsa/rsa.go +25 -2
- package/bin/go/src/crypto/sha1/sha1block_decl.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_generic.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_loong64.s +24 -8
- package/bin/go/src/crypto/sha1/sha1block_riscv64.s +225 -0
- package/bin/go/src/crypto/sha3/sha3.go +3 -2
- package/bin/go/src/crypto/tls/alert.go +2 -0
- package/bin/go/src/crypto/tls/auth.go +31 -0
- package/bin/go/src/crypto/tls/bogo_config.json +12 -23
- package/bin/go/src/crypto/tls/cipher_suites.go +3 -11
- package/bin/go/src/crypto/tls/common.go +106 -59
- package/bin/go/src/crypto/tls/common_string.go +18 -5
- package/bin/go/src/crypto/tls/conn.go +33 -35
- package/bin/go/src/crypto/tls/defaults.go +26 -20
- package/bin/go/src/crypto/tls/defaults_fips140.go +9 -0
- package/bin/go/src/crypto/tls/ech.go +9 -4
- package/bin/go/src/crypto/tls/generate_cert.go +8 -2
- package/bin/go/src/crypto/tls/handshake_client.go +17 -17
- package/bin/go/src/crypto/tls/handshake_client_tls13.go +8 -3
- package/bin/go/src/crypto/tls/handshake_server.go +26 -19
- package/bin/go/src/crypto/tls/handshake_server_tls13.go +8 -5
- package/bin/go/src/crypto/tls/key_agreement.go +5 -1
- package/bin/go/src/crypto/tls/key_schedule.go +42 -17
- package/bin/go/src/crypto/tls/prf.go +1 -1
- package/bin/go/src/crypto/tls/quic.go +6 -7
- package/bin/go/src/crypto/tls/tls.go +25 -29
- package/bin/go/src/crypto/x509/cert_pool.go +8 -4
- package/bin/go/src/crypto/x509/constraints.go +5 -0
- package/bin/go/src/crypto/x509/parser.go +101 -15
- package/bin/go/src/crypto/x509/pkcs8.go +45 -4
- package/bin/go/src/crypto/x509/pkix/pkix.go +33 -9
- package/bin/go/src/crypto/x509/root.go +113 -0
- package/bin/go/src/crypto/x509/root_darwin.go +8 -4
- package/bin/go/src/crypto/x509/root_plan9.go +2 -23
- package/bin/go/src/crypto/x509/root_unix.go +0 -97
- package/bin/go/src/crypto/x509/root_windows.go +8 -3
- package/bin/go/src/crypto/x509/verify.go +43 -4
- package/bin/go/src/crypto/x509/x509.go +169 -30
- package/bin/go/src/database/sql/closemu.go +119 -0
- package/bin/go/src/database/sql/convert.go +63 -4
- package/bin/go/src/database/sql/driver/driver.go +26 -0
- package/bin/go/src/database/sql/driver/types.go +4 -0
- package/bin/go/src/database/sql/internal/sql.go +22 -0
- package/bin/go/src/database/sql/sql.go +89 -40
- package/bin/go/src/debug/buildinfo/buildinfo.go +0 -13
- package/bin/go/src/debug/dwarf/buf.go +7 -1
- package/bin/go/src/debug/dwarf/class_string.go +3 -2
- package/bin/go/src/debug/elf/file.go +80 -50
- package/bin/go/src/debug/elf/reader.go +1 -1
- package/bin/go/src/debug/gosym/symtab.go +26 -30
- package/bin/go/src/debug/macho/file.go +2 -2
- package/bin/go/src/debug/macho/reloctype_string.go +12 -8
- package/bin/go/src/debug/pe/file.go +6 -3
- package/bin/go/src/encoding/base32/base32.go +29 -31
- package/bin/go/src/encoding/base64/base64.go +24 -29
- package/bin/go/src/encoding/gob/decode.go +7 -1
- package/bin/go/src/encoding/gob/type.go +6 -6
- package/bin/go/src/encoding/hex/hex.go +6 -6
- package/bin/go/src/encoding/json/decode.go +4 -3
- package/bin/go/src/encoding/json/encode.go +1 -2
- package/bin/go/src/encoding/json/fold.go +1 -1
- package/bin/go/src/encoding/json/internal/internal.go +11 -1
- package/bin/go/src/encoding/json/internal/jsonflags/flags.go +17 -9
- package/bin/go/src/encoding/json/internal/jsonopts/options.go +52 -37
- package/bin/go/src/encoding/json/internal/jsonopts/options_format.go +124 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/canada_geometry.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/citm_catalog.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/golang_source.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_escaped.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_unicode.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/synthea_fhir.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/twitter_status.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/testdata.go +10 -4
- package/bin/go/src/encoding/json/internal/jsonwire/decode.go +13 -36
- package/bin/go/src/encoding/json/internal/jsonwire/encode.go +7 -7
- package/bin/go/src/encoding/json/internal/jsonwire/wire.go +30 -38
- package/bin/go/src/encoding/json/jsontext/decode.go +49 -14
- package/bin/go/src/encoding/json/jsontext/doc.go +6 -11
- package/bin/go/src/encoding/json/jsontext/encode.go +55 -39
- package/bin/go/src/encoding/json/jsontext/errors.go +34 -3
- package/bin/go/src/encoding/json/jsontext/export.go +14 -0
- package/bin/go/src/encoding/json/jsontext/options.go +8 -8
- package/bin/go/src/encoding/json/jsontext/quote.go +2 -2
- package/bin/go/src/encoding/json/jsontext/state.go +14 -14
- package/bin/go/src/encoding/json/jsontext/token.go +246 -101
- package/bin/go/src/encoding/json/jsontext/value.go +31 -16
- package/bin/go/src/encoding/json/stream.go +14 -2
- package/bin/go/src/encoding/json/v2/arshal.go +100 -114
- package/bin/go/src/encoding/json/v2/arshal_any.go +6 -5
- package/bin/go/src/encoding/json/v2/arshal_default.go +292 -189
- package/bin/go/src/encoding/json/v2/{arshal_inlined.go → arshal_embedded.go} +14 -14
- package/bin/go/src/encoding/json/v2/arshal_funcs.go +28 -47
- package/bin/go/src/encoding/json/v2/arshal_methods.go +98 -29
- package/bin/go/src/encoding/json/v2/arshal_time.go +33 -13
- package/bin/go/src/encoding/json/v2/doc.go +40 -55
- package/bin/go/src/encoding/json/v2/errors.go +29 -9
- package/bin/go/src/encoding/json/v2/fields.go +83 -81
- package/bin/go/src/encoding/json/v2/intern.go +2 -2
- package/bin/go/src/encoding/json/v2/options.go +57 -41
- package/bin/go/src/encoding/json/v2_decode.go +21 -9
- package/bin/go/src/encoding/json/v2_encode.go +21 -10
- package/bin/go/src/encoding/json/v2_indent.go +2 -0
- package/bin/go/src/encoding/json/v2_inject.go +7 -4
- package/bin/go/src/encoding/json/v2_options.go +37 -30
- package/bin/go/src/encoding/json/v2_scanner.go +6 -1
- package/bin/go/src/encoding/json/v2_stream.go +49 -14
- package/bin/go/src/encoding/pem/pem.go +6 -2
- package/bin/go/src/fmt/doc.go +11 -1
- package/bin/go/src/fmt/print.go +69 -82
- package/bin/go/src/go/ast/ast.go +4 -4
- package/bin/go/src/go/ast/filter.go +1 -1
- package/bin/go/src/go/ast/scope.go +2 -2
- package/bin/go/src/go/build/build.go +1 -1
- package/bin/go/src/go/build/constraint/vers.go +4 -1
- package/bin/go/src/go/build/read.go +2 -2
- package/bin/go/src/go/constant/kind_string.go +3 -2
- package/bin/go/src/go/constant/value.go +26 -4
- package/bin/go/src/go/doc/comment/std.go +1 -0
- package/bin/go/src/go/importer/importer.go +4 -3
- package/bin/go/src/go/internal/gccgoimporter/parser.go +2 -0
- package/bin/go/src/go/internal/gcimporter/ureader.go +141 -56
- package/bin/go/src/go/parser/parser.go +11 -22
- package/bin/go/src/go/printer/math.go +28 -0
- package/bin/go/src/go/printer/nodes.go +28 -11
- package/bin/go/src/go/printer/printer.go +3 -1
- package/bin/go/src/go/scanner/errors.go +2 -0
- package/bin/go/src/go/scanner/scanner.go +40 -28
- package/bin/go/src/go/token/position.go +7 -16
- package/bin/go/src/go/types/alias.go +0 -18
- package/bin/go/src/go/types/api.go +4 -10
- package/bin/go/src/go/types/api_predicates.go +2 -2
- package/bin/go/src/go/types/assignments.go +44 -38
- package/bin/go/src/go/types/builtins.go +199 -168
- package/bin/go/src/go/types/call.go +155 -138
- package/bin/go/src/go/types/check.go +0 -83
- package/bin/go/src/go/types/const.go +22 -10
- package/bin/go/src/go/types/conversions.go +19 -19
- package/bin/go/src/go/types/cycles.go +29 -42
- package/bin/go/src/go/types/decl.go +33 -81
- package/bin/go/src/go/types/expr.go +191 -183
- package/bin/go/src/go/types/gotype.go +1 -0
- package/bin/go/src/go/types/hash.go +309 -0
- package/bin/go/src/go/types/index.go +91 -61
- package/bin/go/src/go/types/infer.go +11 -11
- package/bin/go/src/go/types/instantiate.go +27 -15
- package/bin/go/src/go/types/interface.go +2 -2
- package/bin/go/src/go/types/literals.go +56 -32
- package/bin/go/src/go/types/lookup.go +31 -14
- package/bin/go/src/go/types/named.go +58 -54
- package/bin/go/src/go/types/object.go +4 -3
- package/bin/go/src/go/types/operand.go +50 -34
- package/bin/go/src/go/types/range.go +19 -16
- package/bin/go/src/go/types/recording.go +24 -7
- package/bin/go/src/go/types/resolver.go +16 -18
- package/bin/go/src/go/types/scope.go +1 -15
- package/bin/go/src/go/types/selection.go +3 -1
- package/bin/go/src/go/types/signature.go +10 -11
- package/bin/go/src/go/types/stmt.go +34 -28
- package/bin/go/src/go/types/subst.go +82 -5
- package/bin/go/src/go/types/trie.go +93 -0
- package/bin/go/src/go/types/typelists.go +28 -0
- package/bin/go/src/go/types/typestring.go +5 -9
- package/bin/go/src/go/types/typexpr.go +17 -28
- package/bin/go/src/go/types/unify.go +12 -3
- package/bin/go/src/go/types/universe.go +12 -40
- package/bin/go/src/go/types/version.go +4 -0
- package/bin/go/src/go.mod +5 -5
- package/bin/go/src/go.sum +8 -8
- package/bin/go/src/hash/maphash/hasher.go +139 -0
- package/bin/go/src/hash/maphash/maphash.go +59 -4
- package/bin/go/src/html/template/attr_string.go +3 -2
- package/bin/go/src/html/template/delim_string.go +3 -2
- package/bin/go/src/html/template/element_string.go +3 -2
- package/bin/go/src/html/template/jsctx_string.go +3 -2
- package/bin/go/src/html/template/state_string.go +3 -2
- package/bin/go/src/html/template/template.go +7 -4
- package/bin/go/src/html/template/transition.go +1 -1
- package/bin/go/src/html/template/urlpart_string.go +3 -2
- package/bin/go/src/image/format.go +9 -0
- package/bin/go/src/image/gif/reader.go +18 -0
- package/bin/go/src/image/jpeg/huffman.go +22 -3
- package/bin/go/src/image/jpeg/reader.go +54 -29
- package/bin/go/src/image/jpeg/scan.go +68 -38
- package/bin/go/src/image/png/writer.go +8 -0
- package/bin/go/src/index/suffixarray/suffixarray.go +14 -6
- package/bin/go/src/internal/abi/abi_generic.go +1 -1
- package/bin/go/src/internal/abi/abi_s390x.go +0 -2
- package/bin/go/src/internal/abi/compiletype.go +30 -0
- package/bin/go/src/internal/abi/iface.go +13 -1
- package/bin/go/src/internal/abi/map.go +21 -3
- package/bin/go/src/internal/abi/type.go +136 -27
- package/bin/go/src/internal/buildcfg/exp.go +8 -8
- package/bin/go/src/internal/buildcfg/zbootstrap.go +1 -1
- package/bin/go/src/internal/bytealg/bytealg.go +16 -16
- package/bin/go/src/internal/bytealg/compare_s390x.s +0 -24
- package/bin/go/src/internal/bytealg/equal_s390x.s +0 -18
- package/bin/go/src/internal/bytealg/indexbyte_arm64.s +28 -0
- package/bin/go/src/internal/bytealg/indexbyte_s390x.s +0 -33
- package/bin/go/src/internal/coverage/encodemeta/encode.go +1 -1
- package/bin/go/src/internal/cpu/cpu.go +22 -7
- package/bin/go/src/internal/cpu/cpu_arm64.go +8 -1
- package/bin/go/src/internal/cpu/cpu_arm64.s +7 -0
- package/bin/go/src/internal/cpu/cpu_arm64_darwin.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_freebsd.go +2 -1
- package/bin/go/src/internal/cpu/cpu_arm64_hwcap.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_openbsd.go +6 -1
- package/bin/go/src/internal/cpu/cpu_arm64_other.go +1 -1
- package/bin/go/src/internal/cpu/cpu_arm64_windows.go +26 -0
- package/bin/go/src/internal/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/internal/cpu/cpu_riscv64.go +10 -0
- package/bin/go/src/internal/cpu/cpu_riscv64_linux.go +21 -0
- package/bin/go/src/internal/cpu/cpu_windows.go +20 -0
- package/bin/go/src/internal/cpu/cpu_x86.go +2 -0
- package/bin/go/src/internal/filepathlite/path_windows.go +30 -17
- package/bin/go/src/internal/fuzz/fuzz.go +5 -1
- package/bin/go/src/internal/fuzz/mutator.go +2 -2
- package/bin/go/src/internal/fuzz/worker.go +1 -1
- package/bin/go/src/internal/gate/gate.go +76 -0
- package/bin/go/src/internal/godebugs/table.go +29 -10
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_off.go +8 -0
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_on.go +8 -0
- package/bin/go/src/internal/goexperiment/flags.go +5 -3
- package/bin/go/src/internal/goversion/goversion.go +1 -1
- package/bin/go/src/internal/lazyregexp/lazyre.go +4 -0
- package/bin/go/src/internal/nettest/conn.go +437 -0
- package/bin/go/src/internal/nettest/listener.go +148 -0
- package/bin/go/src/internal/nettest/packetconn.go +250 -0
- package/bin/go/src/internal/nettest/queue.go +33 -0
- package/bin/go/src/internal/pkgbits/syncmarker_string.go +4 -4
- package/bin/go/src/internal/pkgbits/version.go +27 -1
- package/bin/go/src/internal/platform/supported.go +8 -10
- package/bin/go/src/internal/platform/zosarch.go +1 -3
- package/bin/go/src/internal/poll/fd_mutex.go +49 -10
- package/bin/go/src/internal/poll/fd_unix.go +6 -1
- package/bin/go/src/internal/poll/fd_windows.go +175 -191
- package/bin/go/src/internal/poll/fd_writev_libc.go +1 -1
- package/bin/go/src/internal/poll/fd_writev_unix.go +1 -1
- package/bin/go/src/internal/poll/file_plan9.go +4 -4
- package/bin/go/src/internal/poll/sendfile_windows.go +1 -3
- package/bin/go/src/internal/poll/splice_linux.go +1 -1
- package/bin/go/src/internal/profile/encode.go +1 -1
- package/bin/go/src/internal/profile/profile.go +5 -3
- package/bin/go/src/internal/profilerecord/profilerecord.go +2 -2
- package/bin/go/src/internal/reflectlite/value.go +1 -15
- package/bin/go/src/internal/runtime/atomic/atomic_386.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_amd64.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_andor_generic.go +0 -11
- package/bin/go/src/internal/runtime/atomic/atomic_arm.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.go +2 -2
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.s +22 -11
- package/bin/go/src/internal/runtime/atomic/atomic_mipsx.go +0 -10
- package/bin/go/src/internal/runtime/atomic/atomic_riscv64.s +4 -4
- package/bin/go/src/internal/runtime/atomic/atomic_s390x.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_wasm.go +0 -31
- package/bin/go/src/internal/runtime/atomic/linkname.go +34 -0
- package/bin/go/src/internal/runtime/exithook/hooks.go +0 -4
- package/bin/go/src/internal/runtime/gc/scan/expand_amd64.s +2285 -2285
- package/bin/go/src/internal/runtime/gc/scan/mkasm.go +1 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.go +2 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.s +4 -2
- package/bin/go/src/internal/runtime/maps/group.go +22 -13
- package/bin/go/src/internal/runtime/maps/map.go +35 -14
- package/bin/go/src/internal/runtime/maps/memhash_386.s +408 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes.go +38 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_asm.go +24 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_simd.go +49 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_check.go +10 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_nocheck.go +16 -0
- package/bin/go/src/internal/runtime/maps/memhash_amd64.s +426 -0
- package/bin/go/src/internal/runtime/maps/memhash_arm64.s +366 -0
- package/bin/go/src/internal/runtime/maps/memhash_noaes.go +43 -0
- package/bin/go/src/internal/runtime/maps/memhash_nosimd_amd64.s +33 -0
- package/bin/go/src/internal/runtime/maps/runtime.go +37 -88
- package/bin/go/src/internal/runtime/maps/runtime_alg.go +93 -0
- package/bin/go/src/internal/runtime/maps/runtime_fast32.go +111 -97
- package/bin/go/src/internal/runtime/maps/runtime_fast64.go +137 -98
- package/bin/go/src/internal/runtime/maps/runtime_faststr.go +96 -89
- package/bin/go/src/{runtime/hash32.go → internal/runtime/maps/runtime_hash32.go} +8 -10
- package/bin/go/src/{runtime/hash64.go → internal/runtime/maps/runtime_hash64.go} +8 -8
- package/bin/go/src/internal/runtime/maps/table.go +66 -3
- package/bin/go/src/internal/runtime/math/math.go +0 -21
- package/bin/go/src/internal/runtime/startlinetest/func_amd64.s +2 -1
- package/bin/go/src/internal/runtime/sys/dit_arm64.go +3 -0
- package/bin/go/src/internal/runtime/sys/dit_arm64.s +16 -3
- package/bin/go/src/internal/runtime/syscall/linux/asm_linux_s390x.s +0 -23
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_386.s +7 -4
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_amd64.s +10 -8
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_arm64.s +0 -1
- package/bin/go/src/internal/runtime/syscall/windows/defs_windows.go +4 -0
- package/bin/go/src/internal/runtime/syscall/windows/syscall_windows.go +7 -9
- package/bin/go/src/internal/strconv/atof.go +69 -42
- package/bin/go/src/internal/strconv/atoi.go +1 -0
- package/bin/go/src/internal/strconv/ftoa.go +329 -357
- package/bin/go/src/internal/strconv/itoa.go +53 -59
- package/bin/go/src/internal/strconv/pow10gen.go +15 -3
- package/bin/go/src/internal/strconv/pow10tab.go +670 -670
- package/bin/go/src/internal/strconv/uscale.go +290 -0
- package/bin/go/src/internal/stringslite/strings.go +14 -42
- package/bin/go/src/internal/syscall/unix/asm_openbsd.s +0 -2
- package/bin/go/src/internal/syscall/unix/at.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_fstatat.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_libc2.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/unix/faccessat_bsd.go +1 -1
- package/bin/go/src/internal/syscall/unix/faccessat_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/windows/at_windows.go +5 -5
- package/bin/go/src/internal/syscall/windows/net_windows.go +1 -0
- package/bin/go/src/internal/syscall/windows/string_windows.go +6 -3
- package/bin/go/src/internal/syscall/windows/syscall_windows.go +2 -0
- package/bin/go/src/internal/syscall/windows/types_windows.go +89 -4
- package/bin/go/src/internal/syscall/windows/zsyscall_windows.go +7 -0
- package/bin/go/src/internal/testenv/testenv.go +24 -1
- package/bin/go/src/internal/trace/event.go +1 -1
- package/bin/go/src/internal/trace/tracev2/events.go +2 -0
- package/bin/go/src/internal/trace/traceviewer/pprof.go +1 -0
- package/bin/go/src/internal/types/errors/generrordocs.go +1 -1
- package/bin/go/src/io/fs/fs.go +4 -1
- package/bin/go/src/io/fs/glob.go +1 -1
- package/bin/go/src/io/fs/readdir.go +3 -3
- package/bin/go/src/io/fs/readfile.go +3 -3
- package/bin/go/src/io/fs/stat.go +1 -1
- package/bin/go/src/io/fs/sub.go +4 -2
- package/bin/go/src/iter/iter.go +2 -2
- package/bin/go/src/log/slog/handler.go +0 -1
- package/bin/go/src/log/slog/json_handler.go +7 -1
- package/bin/go/src/log/slog/logger.go +16 -0
- package/bin/go/src/log/slog/text_handler.go +10 -1
- package/bin/go/src/log/slog/value.go +1 -1
- package/bin/go/src/log/syslog/doc.go +5 -0
- package/bin/go/src/math/abs.go +1 -1
- package/bin/go/src/math/big/accuracy_string.go +4 -4
- package/bin/go/src/math/big/arith.go +1 -1
- package/bin/go/src/math/big/arith_loong64.s +2 -4
- package/bin/go/src/math/big/float.go +2 -0
- package/bin/go/src/math/big/ftoa.go +11 -5
- package/bin/go/src/math/big/int.go +84 -1
- package/bin/go/src/math/big/intconv.go +19 -4
- package/bin/go/src/math/big/internal/asmgen/loong64.go +2 -0
- package/bin/go/src/math/big/nat.go +68 -17
- package/bin/go/src/math/big/natdiv.go +8 -5
- package/bin/go/src/math/big/roundingmode_string.go +3 -2
- package/bin/go/src/math/copysign.go +1 -2
- package/bin/go/src/math/exp2_asm.go +1 -1
- package/bin/go/src/math/exp2_noasm.go +1 -1
- package/bin/go/src/math/exp_asm.go +1 -1
- package/bin/go/src/math/exp_loong64.s +4 -12
- package/bin/go/src/math/exp_noasm.go +1 -1
- package/bin/go/src/math/exp_riscv64.s +236 -0
- package/bin/go/src/math/nextafter.go +4 -2
- package/bin/go/src/math/pow10.go +1 -1
- package/bin/go/src/math/rand/v2/rand.go +14 -4
- package/bin/go/src/mime/type.go +3 -2
- package/bin/go/src/net/dial.go +10 -6
- package/bin/go/src/net/dnsclient_unix.go +37 -8
- package/bin/go/src/net/dnsconfig.go +6 -0
- package/bin/go/src/net/fd_plan9.go +13 -6
- package/bin/go/src/net/fd_unix.go +3 -7
- package/bin/go/src/net/fd_windows.go +4 -9
- package/bin/go/src/net/file_plan9.go +1 -1
- package/bin/go/src/net/file_posix.go +1 -5
- package/bin/go/src/net/http/client.go +21 -4
- package/bin/go/src/net/http/clientconn.go +20 -1
- package/bin/go/src/net/http/clone.go +1 -10
- package/bin/go/src/net/http/cookie.go +5 -6
- package/bin/go/src/net/http/cookiejar/jar.go +6 -4
- package/bin/go/src/net/http/fcgi/fcgi.go +1 -2
- package/bin/go/src/net/http/fs.go +8 -1
- package/bin/go/src/net/http/http.go +29 -12
- package/bin/go/src/net/http/http2.go +561 -0
- package/bin/go/src/net/http/httptest/server.go +305 -60
- package/bin/go/src/net/http/httptrace/trace.go +78 -27
- package/bin/go/src/net/http/httputil/reverseproxy.go +0 -30
- package/bin/go/src/net/http/internal/common.go +14 -0
- package/bin/go/src/net/http/internal/http2/api.go +161 -0
- package/bin/go/src/net/http/internal/http2/ascii.go +53 -0
- package/bin/go/src/net/http/internal/http2/ciphers.go +641 -0
- package/bin/go/src/net/http/internal/http2/client_conn_pool.go +285 -0
- package/bin/go/src/net/http/internal/http2/config.go +118 -0
- package/bin/go/src/net/http/internal/http2/databuffer.go +146 -0
- package/bin/go/src/net/http/internal/http2/errors.go +173 -0
- package/bin/go/src/net/http/internal/http2/flow.go +175 -0
- package/bin/go/src/net/http/internal/http2/frame.go +1905 -0
- package/bin/go/src/net/http/internal/http2/gotrack.go +181 -0
- package/bin/go/src/net/http/internal/http2/http2.go +403 -0
- package/bin/go/src/net/http/internal/http2/pipe.go +184 -0
- package/bin/go/src/net/http/internal/http2/server.go +3238 -0
- package/bin/go/src/net/http/internal/http2/transport.go +3267 -0
- package/bin/go/src/net/http/internal/http2/write.go +380 -0
- package/bin/go/src/net/http/internal/http2/writesched.go +289 -0
- package/bin/go/src/net/http/internal/http2/writesched_priority_rfc9218.go +224 -0
- package/bin/go/src/net/http/internal/http2/writesched_roundrobin.go +119 -0
- package/bin/go/src/net/http/internal/httpcommon/httpcommon.go +8 -0
- package/bin/go/src/net/http/internal/httpsfv/httpsfv.go +666 -0
- package/bin/go/src/net/http/internal/sniff.go +304 -0
- package/bin/go/src/net/http/omithttp2.go +28 -49
- package/bin/go/src/net/http/pprof/pprof.go +11 -17
- package/bin/go/src/net/http/request.go +30 -3
- package/bin/go/src/net/http/response.go +6 -2
- package/bin/go/src/net/http/server.go +366 -144
- package/bin/go/src/net/http/sniff.go +2 -289
- package/bin/go/src/net/http/transfer.go +64 -21
- package/bin/go/src/net/http/transport.go +288 -83
- package/bin/go/src/net/ip.go +4 -0
- package/bin/go/src/net/ipsock_plan9.go +4 -4
- package/bin/go/src/net/ipsock_posix.go +8 -2
- package/bin/go/src/net/lookup.go +10 -0
- package/bin/go/src/net/lookup_windows.go +1 -1
- package/bin/go/src/net/mail/message.go +8 -3
- package/bin/go/src/net/net.go +2 -0
- package/bin/go/src/net/netip/netip.go +68 -61
- package/bin/go/src/net/sock_posix.go +1 -4
- package/bin/go/src/net/textproto/reader.go +11 -3
- package/bin/go/src/net/udpsock_plan9.go +2 -7
- package/bin/go/src/net/unixsock.go +11 -3
- package/bin/go/src/net/url/url.go +33 -0
- package/bin/go/src/os/dir_darwin.go +7 -0
- package/bin/go/src/os/exec/exec.go +16 -2
- package/bin/go/src/os/exec.go +1 -0
- package/bin/go/src/os/file.go +8 -1
- package/bin/go/src/os/root_windows.go +5 -1
- package/bin/go/src/os/signal/doc.go +3 -2
- package/bin/go/src/os/signal/signal.go +18 -6
- package/bin/go/src/os/statat_unix.go +5 -1
- package/bin/go/src/path/filepath/path.go +4 -0
- package/bin/go/src/reflect/asm_s390x.s +0 -10
- package/bin/go/src/reflect/iter.go +13 -13
- package/bin/go/src/reflect/makefunc.go +2 -1
- package/bin/go/src/reflect/map.go +61 -18
- package/bin/go/src/reflect/type.go +63 -46
- package/bin/go/src/reflect/value.go +59 -16
- package/bin/go/src/regexp/exec.go +5 -5
- package/bin/go/src/regexp/regexp.go +382 -319
- package/bin/go/src/regexp/syntax/parse.go +19 -10
- package/bin/go/src/runtime/HACKING.md +19 -0
- package/bin/go/src/runtime/_mkmalloc/constants.go +6 -4
- package/bin/go/src/runtime/_mkmalloc/go.mod +1 -1
- package/bin/go/src/runtime/_mkmalloc/mkmalloc.go +405 -64
- package/bin/go/src/runtime/alg.go +21 -53
- package/bin/go/src/runtime/asm_386.s +11 -461
- package/bin/go/src/runtime/asm_amd64.s +30 -537
- package/bin/go/src/runtime/asm_arm.s +4 -39
- package/bin/go/src/runtime/asm_arm64.s +15 -428
- package/bin/go/src/runtime/asm_loong64.s +37 -47
- package/bin/go/src/runtime/asm_mips64x.s +15 -15
- package/bin/go/src/runtime/asm_mipsx.s +0 -15
- package/bin/go/src/runtime/asm_ppc64x.h +0 -16
- package/bin/go/src/runtime/asm_ppc64x.s +13 -59
- package/bin/go/src/runtime/asm_riscv64.s +30 -91
- package/bin/go/src/runtime/asm_s390x.s +49 -49
- package/bin/go/src/runtime/asm_wasm.s +0 -15
- package/bin/go/src/runtime/atomic_riscv64.s +1 -1
- package/bin/go/src/runtime/cgo/abi_riscv64.h +72 -0
- package/bin/go/src/runtime/cgo/asm_riscv64.s +7 -48
- package/bin/go/src/runtime/cgo/callbacks.go +0 -42
- package/bin/go/src/runtime/cgo/callbacks_unix.go +58 -0
- package/bin/go/src/runtime/cgo/cgo.go +6 -3
- package/bin/go/src/runtime/cgo/gcc_aix_ppc64.S +21 -9
- package/bin/go/src/runtime/cgo/gcc_android.c +0 -26
- package/bin/go/src/runtime/cgo/gcc_clearenv.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_fatalf.c +14 -3
- package/bin/go/src/runtime/cgo/{gcc_libinit.c → gcc_libinit_unix.c} +18 -65
- package/bin/go/src/runtime/cgo/gcc_libinit_windows.c +23 -35
- package/bin/go/src/runtime/cgo/gcc_linux_ppc64x.S +16 -7
- package/bin/go/src/runtime/cgo/gcc_netbsd.c +8 -56
- package/bin/go/src/runtime/cgo/gcc_s390x.S +13 -4
- package/bin/go/src/runtime/cgo/gcc_sigaction.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_unix.c +63 -0
- package/bin/go/src/runtime/cgo/gcc_util.c +0 -19
- package/bin/go/src/runtime/cgo/handle.go +3 -0
- package/bin/go/src/runtime/cgo/libcgo.h +7 -10
- package/bin/go/src/runtime/cgo/libcgo_unix.h +2 -10
- package/bin/go/src/runtime/cgo/pthread_unix.c +138 -0
- package/bin/go/src/runtime/cgo/sigaction.go +1 -1
- package/bin/go/src/runtime/cgo/windows.go +18 -1
- package/bin/go/src/runtime/cgo_ppc64x.go +1 -1
- package/bin/go/src/runtime/cgo_sigaction.go +1 -1
- package/bin/go/src/runtime/cgocall.go +10 -2
- package/bin/go/src/runtime/chan.go +2 -16
- package/bin/go/src/runtime/coro.go +2 -2
- package/bin/go/src/runtime/cpuflags.go +4 -3
- package/bin/go/src/runtime/debug/garbage.go +6 -6
- package/bin/go/src/runtime/debug/mod.go +1 -1
- package/bin/go/src/runtime/debug/stack.go +1 -1
- package/bin/go/src/runtime/debugcall.go +0 -3
- package/bin/go/src/runtime/error.go +6 -0
- package/bin/go/src/runtime/extern.go +5 -3
- package/bin/go/src/runtime/heapdump.go +1 -1
- package/bin/go/src/runtime/iface.go +20 -10
- package/bin/go/src/runtime/libinit.go +48 -0
- package/bin/go/src/runtime/lock_js.go +4 -2
- package/bin/go/src/runtime/lock_spinbit.go +13 -12
- package/bin/go/src/runtime/lock_wasip1.go +4 -2
- package/bin/go/src/runtime/lockrank.go +24 -21
- package/bin/go/src/runtime/lockrank_off.go +5 -2
- package/bin/go/src/runtime/lockrank_on.go +8 -7
- package/bin/go/src/runtime/malloc.go +10 -26
- package/bin/go/src/runtime/malloc_generated.go +819 -8628
- package/bin/go/src/runtime/malloc_stubs.go +187 -197
- package/bin/go/src/runtime/malloc_tables_generated.go +16 -882
- package/bin/go/src/runtime/map.go +4 -4
- package/bin/go/src/runtime/mbitmap.go +3 -1
- package/bin/go/src/runtime/mem.go +2 -6
- package/bin/go/src/runtime/mem_sbrk.go +4 -0
- package/bin/go/src/runtime/memclr_s390x.s +0 -5
- package/bin/go/src/runtime/memmove_s390x.s +0 -7
- package/bin/go/src/runtime/metrics/doc.go +5 -29
- package/bin/go/src/runtime/metrics/sample.go +3 -0
- package/bin/go/src/runtime/metrics.go +3 -2
- package/bin/go/src/runtime/mgc.go +41 -25
- package/bin/go/src/runtime/mgcmark.go +5 -0
- package/bin/go/src/runtime/mgcmark_greenteagc.go +1 -1
- package/bin/go/src/runtime/mgcpacer.go +1 -3
- package/bin/go/src/runtime/mgcscavenge.go +1 -1
- package/bin/go/src/runtime/mheap.go +1 -10
- package/bin/go/src/runtime/mklockrank.go +6 -1
- package/bin/go/src/runtime/mkpreempt.go +7 -0
- package/bin/go/src/runtime/mprof.go +12 -23
- package/bin/go/src/runtime/os2_aix.go +3 -3
- package/bin/go/src/runtime/os3_solaris.go +10 -0
- package/bin/go/src/runtime/os_aix.go +9 -2
- package/bin/go/src/runtime/os_darwin.go +3 -8
- package/bin/go/src/runtime/os_dragonfly.go +10 -0
- package/bin/go/src/runtime/os_js.go +10 -0
- package/bin/go/src/runtime/os_linux32.go +19 -6
- package/bin/go/src/runtime/os_netbsd.go +10 -0
- package/bin/go/src/runtime/os_openbsd.go +10 -0
- package/bin/go/src/runtime/os_plan9.go +10 -0
- package/bin/go/src/runtime/os_wasip1.go +10 -0
- package/bin/go/src/runtime/os_windows.go +45 -12
- package/bin/go/src/runtime/os_workdir_ios_arm64.go +98 -0
- package/bin/go/src/runtime/os_workdir_stub.go +9 -0
- package/bin/go/src/runtime/panic.go +93 -8
- package/bin/go/src/runtime/plugin.go +1 -3
- package/bin/go/src/runtime/pprof/pprof.go +11 -14
- package/bin/go/src/runtime/pprof/protomem.go +8 -15
- package/bin/go/src/runtime/preempt_loong64.s +8 -4
- package/bin/go/src/runtime/preempt_noxreg.go +2 -0
- package/bin/go/src/runtime/preempt_xreg.go +29 -2
- package/bin/go/src/runtime/print.go +9 -1
- package/bin/go/src/runtime/proc.go +68 -17
- package/bin/go/src/runtime/race_riscv64.s +40 -83
- package/bin/go/src/runtime/race_s390x.s +0 -16
- package/bin/go/src/runtime/rand.go +40 -12
- package/bin/go/src/runtime/{rt0_linux_ppc64le.s → rt0_linux_ppc64x.s} +12 -2
- package/bin/go/src/runtime/runtime-gdb.py +13 -2
- package/bin/go/src/runtime/runtime1.go +69 -18
- package/bin/go/src/runtime/runtime2.go +23 -22
- package/bin/go/src/runtime/secret/secret.go +7 -2
- package/bin/go/src/runtime/secret.go +27 -9
- package/bin/go/src/runtime/secret_nosecret.go +1 -1
- package/bin/go/src/runtime/sigaction.go +1 -1
- package/bin/go/src/runtime/signal_unix.go +5 -3
- package/bin/go/src/runtime/softfloat64.go +7 -2
- package/bin/go/src/runtime/string.go +4 -1
- package/bin/go/src/runtime/stubs.go +14 -4
- package/bin/go/src/runtime/stubs_amd64.go +4 -0
- package/bin/go/src/runtime/stubs_arm.go +10 -1
- package/bin/go/src/runtime/stubs_arm64.go +13 -0
- package/bin/go/src/runtime/stubs_loong64.go +18 -0
- package/bin/go/src/runtime/stubs_mips64x.go +9 -0
- package/bin/go/src/runtime/stubs_mipsx.go +11 -0
- package/bin/go/src/runtime/stubs_ppc64x.go +15 -0
- package/bin/go/src/runtime/stubs_riscv64.go +13 -0
- package/bin/go/src/runtime/stubs_s390x.go +18 -0
- package/bin/go/src/runtime/symtab.go +15 -16
- package/bin/go/src/runtime/synctest.go +2 -4
- package/bin/go/src/runtime/sys_aix_ppc64.s +9 -0
- package/bin/go/src/runtime/sys_darwin.go +2 -20
- package/bin/go/src/runtime/sys_darwin_amd64.s +1 -4
- package/bin/go/src/runtime/sys_darwin_arm64.s +3 -6
- package/bin/go/src/runtime/sys_freebsd_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_ios_arm64.go +151 -0
- package/bin/go/src/runtime/sys_ios_arm64.s +78 -0
- package/bin/go/src/runtime/sys_linux_amd64.s +7 -1
- package/bin/go/src/runtime/sys_linux_loong64.s +8 -14
- package/bin/go/src/runtime/sys_linux_ppc64x.s +0 -12
- package/bin/go/src/runtime/sys_linux_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_openbsd.go +1 -1
- package/bin/go/src/runtime/sys_openbsd_riscv64.s +16 -16
- package/bin/go/src/runtime/syscall_windows.go +2 -6
- package/bin/go/src/runtime/time.go +19 -57
- package/bin/go/src/runtime/trace/subscribe.go +0 -3
- package/bin/go/src/runtime/traceback.go +90 -13
- package/bin/go/src/runtime/traceregion.go +3 -3
- package/bin/go/src/runtime/tracestring.go +5 -0
- package/bin/go/src/runtime/type.go +85 -15
- package/bin/go/src/runtime/utf8.go +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.mod +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.sum +2 -2
- package/bin/go/src/simd/archsimd/_gen/main.go +106 -15
- package/bin/go/src/simd/archsimd/_gen/midway/comments.yaml +151 -0
- package/bin/go/src/simd/archsimd/_gen/midway/intersect_simd_ops.go +836 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/asbits.go +139 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/compare_natural.go +73 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/formatted_files.go +66 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/insert_ordered_map.go +159 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/merge_generic_ops.go +245 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arch.go +173 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/emit.go +166 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/instruction.go +642 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/load.go +54 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/operands.go +406 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/etetest.sh +1 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdGenericOps.go +19 -52
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdIntrinsics.go +162 -98
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdMachineOps.go +50 -19
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdTypes.go +198 -140
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdrules.go +278 -57
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdssa.go +133 -68
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_utility.go +163 -30
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_amd64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_arm64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/godefs.go +113 -15
- package/bin/go/src/simd/archsimd/_gen/simdgen/main.go +62 -17
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/categories.yaml +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/{go.yaml → go_amd64.yaml} +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/go_arm64.yaml +91 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/categories.yaml +11 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/go_arm64.yaml +43 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/go_arm64.yaml +81 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/categories.yaml +11 -6
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/{go.yaml → go_amd64.yaml} +8 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/go_arm64.yaml +358 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/categories.yaml +5 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/{go.yaml → go_amd64.yaml} +4 -4
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/go_arm64.yaml +52 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/categories.yaml +29 -11
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/{go.yaml → go_amd64.yaml} +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/go_arm64.yaml +10 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/categories.yaml +2 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/{go.yaml → go_amd64.yaml} +2 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/go_arm64.yaml +35 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/categories.yaml +5 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/{go.yaml → go_amd64.yaml} +7 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/go_arm64.yaml +31 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/go_arm64.yaml +61 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/categories.yaml +79 -23
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/{go.yaml → go_amd64.yaml} +213 -104
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/go_arm64.yaml +264 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/categories.yaml +6 -2
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/{go.yaml → go_amd64.yaml} +3 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/go_arm64.yaml +38 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/categories.yaml +7 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/go_arm64.yaml +36 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/categories.yaml +5 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/go_arm64.yaml +19 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/categories.yaml +16 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/go_arm64.yaml +71 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/categories.yaml +156 -41
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_amd64.yaml +299 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_arm64.yaml +202 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/types.yaml +2 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/xed.go +44 -11
- package/bin/go/src/simd/archsimd/_gen/tmplgen/main.go +668 -123
- package/bin/go/src/simd/archsimd/_gen/unify/closure.go +1 -1
- package/bin/go/src/simd/archsimd/_gen/unify/env.go +35 -3
- package/bin/go/src/simd/archsimd/_gen/unify/yaml.go +4 -4
- package/bin/go/src/simd/archsimd/_gen/wasmgen/main.go +2064 -0
- package/bin/go/src/simd/archsimd/clmul_arm64.go +79 -0
- package/bin/go/src/simd/archsimd/clmul_emulated.go +103 -0
- package/bin/go/src/simd/archsimd/compare_gen_arm64.go +155 -0
- package/bin/go/src/simd/archsimd/cpu.go +1 -1
- package/bin/go/src/simd/archsimd/cpu_other.go +21 -0
- package/bin/go/src/simd/archsimd/doc.go +0 -2
- package/bin/go/src/simd/archsimd/dummy.s +1 -1
- package/bin/go/src/simd/archsimd/generate.go +1 -1
- package/bin/go/src/simd/archsimd/internal/test_helpers/checkslices.go +2 -2
- package/bin/go/src/simd/archsimd/maskmerge_gen_amd64.go +330 -0
- package/bin/go/src/simd/archsimd/maskmerge_gen_arm64.go +167 -0
- package/bin/go/src/simd/archsimd/ops_amd64.go +4210 -2475
- package/bin/go/src/simd/archsimd/ops_arm64.go +2186 -0
- package/bin/go/src/simd/archsimd/ops_emulated_amd64.go +205 -0
- package/bin/go/src/simd/archsimd/ops_emulated_wasm.go +212 -0
- package/bin/go/src/simd/archsimd/ops_internal_amd64.go +500 -56
- package/bin/go/src/simd/archsimd/ops_internal_arm64.go +234 -0
- package/bin/go/src/simd/archsimd/ops_wasm.go +1795 -0
- package/bin/go/src/simd/archsimd/other_gen_amd64.go +576 -72
- package/bin/go/src/simd/archsimd/other_gen_arm64.go +519 -0
- package/bin/go/src/simd/archsimd/shuffles_amd64.go +217 -76
- package/bin/go/src/simd/archsimd/slice_gen_amd64.go +594 -532
- package/bin/go/src/simd/archsimd/slice_gen_arm64.go +125 -0
- package/bin/go/src/simd/archsimd/slicepart_128.go +302 -0
- package/bin/go/src/simd/archsimd/slicepart_amd64.go +36 -235
- package/bin/go/src/simd/archsimd/slicepart_arm64.go +217 -0
- package/bin/go/src/simd/archsimd/slicepart_wasm.go +217 -0
- package/bin/go/src/simd/archsimd/string.go +1 -1
- package/bin/go/src/simd/archsimd/types_amd64.go +165 -341
- package/bin/go/src/simd/archsimd/types_arm64.go +224 -0
- package/bin/go/src/simd/archsimd/types_wasm.go +354 -0
- package/bin/go/src/simd/archsimd/unsafe_helpers.go +60 -0
- package/bin/go/src/simd/doc.go +91 -0
- package/bin/go/src/simd/dummy.s +7 -0
- package/bin/go/src/simd/internal/bridge/decls_amd64.go +4085 -0
- package/bin/go/src/simd/internal/bridge/decls_arm64.go +1369 -0
- package/bin/go/src/simd/internal/bridge/decls_wasm.go +1369 -0
- package/bin/go/src/simd/internal/bridge/import_hook.go +13 -0
- package/bin/go/src/simd/internal/bridge/simd_emulated.go +3275 -0
- package/bin/go/src/simd/internal/bridge/simd_types_emulated.go +95 -0
- package/bin/go/src/simd/internal/bridge/tofrom_128.go +65 -0
- package/bin/go/src/simd/internal/bridge/tofrom_amd64.go +123 -0
- package/bin/go/src/simd/internal/bridge/tofrom_emulated.go +63 -0
- package/bin/go/src/simd/midway_amd64.go +34 -0
- package/bin/go/src/simd/midway_arm64.go +22 -0
- package/bin/go/src/simd/midway_common.go +138 -0
- package/bin/go/src/simd/midway_wasm.go +13 -0
- package/bin/go/src/simd/simd_emulated.go +3275 -0
- package/bin/go/src/simd/simd_stubs.go +1041 -0
- package/bin/go/src/simd/simd_types.go +96 -0
- package/bin/go/src/simd/tofrom_amd64.go +374 -0
- package/bin/go/src/simd/tofrom_arm64.go +290 -0
- package/bin/go/src/simd/tofrom_wasm.go +290 -0
- package/bin/go/src/slices/slices.go +9 -7
- package/bin/go/src/strconv/isprint.go +81 -51
- package/bin/go/src/strings/builder.go +1 -1
- package/bin/go/src/strings/strings.go +44 -35
- package/bin/go/src/sync/atomic/doc.go +7 -0
- package/bin/go/src/sync/cond.go +4 -2
- package/bin/go/src/sync/pool.go +6 -15
- package/bin/go/src/sync/runtime2_lockrank.go +1 -2
- package/bin/go/src/syscall/exec_bsd.go +3 -3
- package/bin/go/src/syscall/exec_libc2.go +1 -1
- package/bin/go/src/syscall/exec_linux.go +7 -2
- package/bin/go/src/syscall/fs_js.go +9 -4
- package/bin/go/src/syscall/fs_wasip1.go +6 -0
- package/bin/go/src/syscall/js/js.go +2 -2
- package/bin/go/src/syscall/linkname_bsd.go +8 -0
- package/bin/go/src/syscall/linkname_libc.go +1 -1
- package/bin/go/src/syscall/linkname_openbsd.go +0 -2
- package/bin/go/src/syscall/mkall.sh +6 -17
- package/bin/go/src/syscall/syscall_aix.go +5 -0
- package/bin/go/src/syscall/syscall_linux_386.go +9 -0
- package/bin/go/src/syscall/syscall_linux_amd64.go +5 -0
- package/bin/go/src/syscall/syscall_linux_arm.go +4 -0
- package/bin/go/src/syscall/syscall_linux_arm64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_loong64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_mipsx.go +4 -0
- package/bin/go/src/syscall/syscall_linux_riscv64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_s390x.go +5 -0
- package/bin/go/src/syscall/syscall_openbsd.go +77 -2
- package/bin/go/src/syscall/syscall_plan9.go +25 -0
- package/bin/go/src/syscall/syscall_solaris.go +11 -0
- package/bin/go/src/syscall/syscall_unix.go +19 -0
- package/bin/go/src/syscall/syscall_windows.go +1 -1
- package/bin/go/src/testing/synctest/synctest.go +21 -0
- package/bin/go/src/testing/testing.go +211 -52
- package/bin/go/src/text/template/parse/lex.go +6 -6
- package/bin/go/src/text/template/parse/node.go +21 -16
- package/bin/go/src/text/template/parse/parse.go +23 -6
- package/bin/go/src/text/template/template.go +5 -3
- package/bin/go/src/time/format.go +3 -0
- package/bin/go/src/time/sleep.go +0 -33
- package/bin/go/src/time/tick.go +3 -2
- package/bin/go/src/time/time.go +2 -2
- package/bin/go/src/time/tzdata/zzipdata.go +1 -1
- package/bin/go/src/time/zoneinfo.go +5 -4
- package/bin/go/src/time/zoneinfo_read.go +1 -1
- package/bin/go/src/unicode/tables.go +898 -417
- package/bin/go/src/uuid/uuid.go +273 -0
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go +3 -3
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s +2066 -6598
- package/bin/go/src/vendor/golang.org/x/crypto/hkdf/hkdf.go +100 -0
- package/bin/go/src/vendor/golang.org/x/net/dns/dnsmessage/message.go +5 -4
- package/bin/go/src/vendor/golang.org/x/net/http/httpproxy/proxy.go +4 -4
- package/bin/go/src/vendor/golang.org/x/net/http3/http3.go +46 -0
- package/bin/go/src/vendor/golang.org/x/net/idna/{idna10.0.0.go → idna.go} +133 -35
- package/bin/go/src/vendor/golang.org/x/net/idna/punycode.go +4 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables17.0.0.go +5302 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/body.go +231 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/conn.go +131 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/doc.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/errors.go +102 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/http3.go +95 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack.go +356 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_decode.go +81 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_encode.go +61 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_static.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/quic.go +40 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/roundtrip.go +423 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/server.go +866 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/settings.go +66 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/stream.go +260 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/transport.go +333 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/varint.go +23 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/request.go +475 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/quic/quicwire/wire.go +150 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ack_delay.go +26 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/acks.go +213 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/atomic_bits.go +31 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/config.go +158 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/congestion_reno.go +306 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn.go +434 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_close.go +340 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_flow.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_id.go +502 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_loss.go +85 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_recv.go +631 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_send.go +407 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_streams.go +483 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/crypto_stream.go +157 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/dgram.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/doc.go +50 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/endpoint.go +478 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/errors.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/frame_debug.go +730 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/gate.go +86 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/idle.go +168 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/log.go +67 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/loss.go +521 -0
- package/bin/go/src/{runtime/cgo/gcc_stack_windows.c → vendor/golang.org/x/net/quic/math.go} +7 -2
- package/bin/go/src/vendor/golang.org/x/net/quic/pacer.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet.go +267 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_number.go +72 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_parser.go +519 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_protection.go +539 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_writer.go +566 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/path.go +87 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ping.go +14 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/pipe.go +173 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/qlog.go +272 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/queue.go +63 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/quic.go +221 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_disabled.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_enabled.go +27 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rangeset.go +193 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/retry.go +240 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rtt.go +71 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet.go +119 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet_list.go +93 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_val.go +103 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/skip.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stateless_reset.go +59 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream.go +1106 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream_limits.go +138 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/tls.go +123 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/transport_params.go +283 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp.go +28 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_darwin.go +45 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_linux.go +39 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_msg.go +245 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_other.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_packetconn.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s +12 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu.go +12 -7
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_arm64.go +3 -6
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go +31 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +2 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +4 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows.go +26 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go +38 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_x86.go +124 -50
- package/bin/go/src/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go +54 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/zcpu_windows.go +48 -0
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule.go +4 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go +2135 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/forminfo.go +18 -8
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +1410 -1410
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/{tables13.0.0.go → tables17.0.0.go} +3530 -3186
- package/bin/go/src/vendor/modules.txt +14 -8
- package/bin/ttsc-cache.exe +0 -0
- package/bin/ttsc.exe +0 -0
- package/bin/ttscserver.exe +0 -0
- package/package.json +1 -1
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv_noasm.go +0 -13
- package/bin/go/src/go/internal/scannerhooks/hooks.go +0 -11
- package/bin/go/src/hash/maphash/maphash_purego.go +0 -200
- package/bin/go/src/hash/maphash/maphash_runtime.go +0 -64
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_off.go +0 -8
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_on.go +0 -8
- package/bin/go/src/internal/strconv/atofeisel.go +0 -166
- package/bin/go/src/internal/strconv/ftoadbox.go +0 -349
- package/bin/go/src/internal/strconv/ftoafixed.go +0 -184
- package/bin/go/src/internal/strconv/math.go +0 -179
- package/bin/go/src/net/http/h2_bundle.go +0 -12371
- package/bin/go/src/net/http/h2_error.go +0 -37
- package/bin/go/src/runtime/cgo/gcc_darwin_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_darwin_arm64.c +0 -148
- package/bin/go/src/runtime/cgo/gcc_dragonfly_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_freebsd.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_freebsd_amd64.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_linux.c +0 -67
- package/bin/go/src/runtime/cgo/gcc_linux_amd64.c +0 -92
- package/bin/go/src/runtime/cgo/gcc_linux_arm64.c +0 -88
- package/bin/go/src/runtime/cgo/gcc_linux_s390x.c +0 -64
- package/bin/go/src/runtime/cgo/gcc_openbsd.c +0 -62
- package/bin/go/src/runtime/cgo/gcc_ppc64x.c +0 -68
- package/bin/go/src/runtime/cgo/gcc_signal2_ios_arm64.c +0 -11
- package/bin/go/src/runtime/cgo/gcc_signal_ios_arm64.c +0 -213
- package/bin/go/src/runtime/cgo/gcc_signal_ios_nolldb.c +0 -10
- package/bin/go/src/runtime/cgo/gcc_solaris_amd64.c +0 -83
- package/bin/go/src/runtime/cgo/gcc_stack_darwin.c +0 -25
- package/bin/go/src/runtime/cgo/gcc_stack_unix.c +0 -48
- package/bin/go/src/runtime/cgo/gcc_windows_386.c +0 -55
- package/bin/go/src/runtime/cgo/gcc_windows_amd64.c +0 -54
- package/bin/go/src/runtime/cgo/gcc_windows_arm64.c +0 -42
- package/bin/go/src/runtime/cgo/libcgo_windows.h +0 -6
- package/bin/go/src/runtime/cgo/signal_ios_arm64.go +0 -10
- package/bin/go/src/runtime/cgo/signal_ios_arm64.s +0 -56
- package/bin/go/src/runtime/rt0_linux_ppc64.s +0 -28
- package/bin/go/src/runtime/stubs_ppc64.go +0 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/go.yaml +0 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go.yaml +0 -172
- package/bin/go/src/syscall/asm_openbsd_mips64.s +0 -129
- package/bin/go/src/syscall/syscall_openbsd1.go +0 -12
- package/bin/go/src/syscall/syscall_openbsd_libc.go +0 -84
- package/bin/go/src/syscall/syscall_openbsd_mips64.go +0 -43
- package/bin/go/src/syscall/zerrors_openbsd_mips64.go +0 -1682
- package/bin/go/src/syscall/zsyscall_openbsd_mips64.go +0 -1289
- package/bin/go/src/syscall/zsysnum_openbsd_mips64.go +0 -218
- package/bin/go/src/syscall/ztypes_openbsd_mips64.go +0 -443
- package/bin/go/src/vendor/golang.org/x/net/idna/go118.go +0 -13
- package/bin/go/src/vendor/golang.org/x/net/idna/idna9.0.0.go +0 -717
- package/bin/go/src/vendor/golang.org/x/net/idna/pre_go118.go +0 -11
- package/bin/go/src/vendor/golang.org/x/net/idna/tables10.0.0.go +0 -4559
- package/bin/go/src/vendor/golang.org/x/net/idna/tables11.0.0.go +0 -4653
- package/bin/go/src/vendor/golang.org/x/net/idna/tables12.0.0.go +0 -4733
- package/bin/go/src/vendor/golang.org/x/net/idna/tables13.0.0.go +0 -4959
- package/bin/go/src/vendor/golang.org/x/net/idna/tables9.0.0.go +0 -4486
- package/bin/go/src/vendor/golang.org/x/net/idna/trie12.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/net/idna/trie13.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +0 -11
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +0 -14
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +0 -1815
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +0 -1887
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +0 -1923
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +0 -1955
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +0 -1781
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +0 -7657
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +0 -7693
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +0 -7710
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +0 -7637
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/{go.yaml → go_amd64.yaml} +0 -0
|
@@ -56,7 +56,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
56
56
|
args = check.exprList(argList)
|
|
57
57
|
nargs = len(args)
|
|
58
58
|
for _, a := range args {
|
|
59
|
-
if a.
|
|
59
|
+
if !a.isValid() {
|
|
60
60
|
return
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -112,7 +112,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
112
112
|
if ok, _ := x.assignableTo(check, NewSlice(universeByte), nil); ok {
|
|
113
113
|
y := args[1]
|
|
114
114
|
hasString := false
|
|
115
|
-
for _, u := range typeset(y.typ) {
|
|
115
|
+
for _, u := range typeset(y.typ()) {
|
|
116
116
|
if s, _ := u.(*Slice); s != nil && Identical(s.elem, universeByte) {
|
|
117
117
|
// typeset ⊇ {[]byte}
|
|
118
118
|
} else if u != nil && isString(u) {
|
|
@@ -125,7 +125,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
125
125
|
}
|
|
126
126
|
if y != nil && hasString {
|
|
127
127
|
// setting the signature also signals that we're done
|
|
128
|
-
sig = makeSig(x.typ, x.typ, y.typ)
|
|
128
|
+
sig = makeSig(x.typ(), x.typ(), y.typ())
|
|
129
129
|
sig.variadic = true
|
|
130
130
|
}
|
|
131
131
|
}
|
|
@@ -134,7 +134,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
134
134
|
// general case
|
|
135
135
|
if sig == nil {
|
|
136
136
|
// check arguments by creating custom signature
|
|
137
|
-
sig = makeSig(x.typ, x.typ, NewSlice(E)) // []E required for variadic signature
|
|
137
|
+
sig = makeSig(x.typ(), x.typ(), NewSlice(E)) // []E required for variadic signature
|
|
138
138
|
sig.variadic = true
|
|
139
139
|
check.arguments(call, sig, nil, nil, args, nil) // discard result (we know the result type)
|
|
140
140
|
// ok to continue even if check.arguments reported errors
|
|
@@ -143,7 +143,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
143
143
|
if check.recordTypes() {
|
|
144
144
|
check.recordBuiltinType(call.Fun, sig)
|
|
145
145
|
}
|
|
146
|
-
x.
|
|
146
|
+
x.mode_ = value
|
|
147
147
|
// x.typ is unchanged
|
|
148
148
|
|
|
149
149
|
case _Cap, _Len:
|
|
@@ -151,12 +151,12 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
151
151
|
// len(x)
|
|
152
152
|
mode := invalid
|
|
153
153
|
var val constant.Value
|
|
154
|
-
switch t := arrayPtrDeref(x.typ.Underlying()).(type) {
|
|
154
|
+
switch t := arrayPtrDeref(x.typ().Underlying()).(type) {
|
|
155
155
|
case *Basic:
|
|
156
156
|
if isString(t) && id == _Len {
|
|
157
|
-
if x.mode == constant_ {
|
|
157
|
+
if x.mode() == constant_ {
|
|
158
158
|
mode = constant_
|
|
159
|
-
val = constant.MakeInt64(
|
|
159
|
+
val = constant.MakeInt64(constant.StringLen(x.val))
|
|
160
160
|
} else {
|
|
161
161
|
mode = value
|
|
162
162
|
}
|
|
@@ -186,10 +186,10 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
case *Interface:
|
|
189
|
-
if !isTypeParam(x.typ) {
|
|
189
|
+
if !isTypeParam(x.typ()) {
|
|
190
190
|
break
|
|
191
191
|
}
|
|
192
|
-
if underIs(x.typ, func(u Type) bool {
|
|
192
|
+
if underIs(x.typ(), func(u Type) bool {
|
|
193
193
|
switch t := arrayPtrDeref(u).(type) {
|
|
194
194
|
case *Basic:
|
|
195
195
|
if isString(t) && id == _Len {
|
|
@@ -210,7 +210,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
210
210
|
|
|
211
211
|
if mode == invalid {
|
|
212
212
|
// avoid error if underlying type is invalid
|
|
213
|
-
if isValid(x.typ.Underlying()) {
|
|
213
|
+
if isValid(x.typ().Underlying()) {
|
|
214
214
|
code := InvalidCap
|
|
215
215
|
if id == _Len {
|
|
216
216
|
code = InvalidLen
|
|
@@ -222,18 +222,18 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
222
222
|
|
|
223
223
|
// record the signature before changing x.typ
|
|
224
224
|
if check.recordTypes() && mode != constant_ {
|
|
225
|
-
check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ))
|
|
225
|
+
check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ()))
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
-
x.
|
|
229
|
-
x.
|
|
228
|
+
x.mode_ = mode
|
|
229
|
+
x.typ_ = Typ[Int]
|
|
230
230
|
x.val = val
|
|
231
231
|
|
|
232
232
|
case _Clear:
|
|
233
233
|
// clear(m)
|
|
234
234
|
check.verifyVersionf(call.Fun, go1_21, "clear")
|
|
235
235
|
|
|
236
|
-
if !underIs(x.typ, func(u Type) bool {
|
|
236
|
+
if !underIs(x.typ(), func(u Type) bool {
|
|
237
237
|
switch u.(type) {
|
|
238
238
|
case *Map, *Slice:
|
|
239
239
|
return true
|
|
@@ -244,14 +244,14 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
244
244
|
return
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
-
x.
|
|
247
|
+
x.mode_ = novalue
|
|
248
248
|
if check.recordTypes() {
|
|
249
|
-
check.recordBuiltinType(call.Fun, makeSig(nil, x.typ))
|
|
249
|
+
check.recordBuiltinType(call.Fun, makeSig(nil, x.typ()))
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
case _Close:
|
|
253
253
|
// close(c)
|
|
254
|
-
if !underIs(x.typ, func(u Type) bool {
|
|
254
|
+
if !underIs(x.typ(), func(u Type) bool {
|
|
255
255
|
uch, _ := u.(*Chan)
|
|
256
256
|
if uch == nil {
|
|
257
257
|
check.errorf(x, InvalidClose, invalidOp+"cannot close non-channel %s", x)
|
|
@@ -265,9 +265,9 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
265
265
|
}) {
|
|
266
266
|
return
|
|
267
267
|
}
|
|
268
|
-
x.
|
|
268
|
+
x.mode_ = novalue
|
|
269
269
|
if check.recordTypes() {
|
|
270
|
-
check.recordBuiltinType(call.Fun, makeSig(nil, x.typ))
|
|
270
|
+
check.recordBuiltinType(call.Fun, makeSig(nil, x.typ()))
|
|
271
271
|
}
|
|
272
272
|
|
|
273
273
|
case _Complex:
|
|
@@ -276,10 +276,10 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
276
276
|
|
|
277
277
|
// convert or check untyped arguments
|
|
278
278
|
d := 0
|
|
279
|
-
if isUntyped(x.typ) {
|
|
279
|
+
if isUntyped(x.typ()) {
|
|
280
280
|
d |= 1
|
|
281
281
|
}
|
|
282
|
-
if isUntyped(y.typ) {
|
|
282
|
+
if isUntyped(y.typ()) {
|
|
283
283
|
d |= 2
|
|
284
284
|
}
|
|
285
285
|
switch d {
|
|
@@ -287,10 +287,10 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
287
287
|
// x and y are typed => nothing to do
|
|
288
288
|
case 1:
|
|
289
289
|
// only x is untyped => convert to type of y
|
|
290
|
-
check.convertUntyped(x, y.typ)
|
|
290
|
+
check.convertUntyped(x, y.typ())
|
|
291
291
|
case 2:
|
|
292
292
|
// only y is untyped => convert to type of x
|
|
293
|
-
check.convertUntyped(y, x.typ)
|
|
293
|
+
check.convertUntyped(y, x.typ())
|
|
294
294
|
case 3:
|
|
295
295
|
// x and y are untyped =>
|
|
296
296
|
// 1) if both are constants, convert them to untyped
|
|
@@ -300,10 +300,10 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
300
300
|
// both of them to float64 since they must have the
|
|
301
301
|
// same type to succeed (this will result in an error
|
|
302
302
|
// because shifts of floats are not permitted)
|
|
303
|
-
if x.mode == constant_ && y.mode == constant_ {
|
|
303
|
+
if x.mode() == constant_ && y.mode() == constant_ {
|
|
304
304
|
toFloat := func(x *operand) {
|
|
305
|
-
if isNumeric(x.typ) && constant.Sign(constant.Imag(x.val)) == 0 {
|
|
306
|
-
x.
|
|
305
|
+
if isNumeric(x.typ()) && constant.Sign(constant.Imag(x.val)) == 0 {
|
|
306
|
+
x.typ_ = Typ[UntypedFloat]
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
toFloat(x)
|
|
@@ -315,13 +315,13 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
315
315
|
// and check below
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
|
-
if x.
|
|
318
|
+
if !x.isValid() || !y.isValid() {
|
|
319
319
|
return
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
// both argument types must be identical
|
|
323
|
-
if !Identical(x.typ, y.typ) {
|
|
324
|
-
check.errorf(x, InvalidComplex, invalidOp+"%v (mismatched types %s and %s)", call, x.typ, y.typ)
|
|
323
|
+
if !Identical(x.typ(), y.typ()) {
|
|
324
|
+
check.errorf(x, InvalidComplex, invalidOp+"%v (mismatched types %s and %s)", call, x.typ(), y.typ())
|
|
325
325
|
return
|
|
326
326
|
}
|
|
327
327
|
|
|
@@ -343,22 +343,22 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
343
343
|
}
|
|
344
344
|
resTyp := check.applyTypeFunc(f, x, id)
|
|
345
345
|
if resTyp == nil {
|
|
346
|
-
check.errorf(x, InvalidComplex, invalidArg+"arguments have type %s, expected floating-point", x.typ)
|
|
346
|
+
check.errorf(x, InvalidComplex, invalidArg+"arguments have type %s, expected floating-point", x.typ())
|
|
347
347
|
return
|
|
348
348
|
}
|
|
349
349
|
|
|
350
350
|
// if both arguments are constants, the result is a constant
|
|
351
|
-
if x.mode == constant_ && y.mode == constant_ {
|
|
351
|
+
if x.mode() == constant_ && y.mode() == constant_ {
|
|
352
352
|
x.val = constant.BinaryOp(constant.ToFloat(x.val), token.ADD, constant.MakeImag(constant.ToFloat(y.val)))
|
|
353
353
|
} else {
|
|
354
|
-
x.
|
|
354
|
+
x.mode_ = value
|
|
355
355
|
}
|
|
356
356
|
|
|
357
|
-
if check.recordTypes() && x.mode != constant_ {
|
|
358
|
-
check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ, x.typ))
|
|
357
|
+
if check.recordTypes() && x.mode() != constant_ {
|
|
358
|
+
check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ(), x.typ()))
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
x.
|
|
361
|
+
x.typ_ = resTyp
|
|
362
362
|
|
|
363
363
|
case _Copy:
|
|
364
364
|
// copy(x, y []E) int
|
|
@@ -370,12 +370,23 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
370
370
|
// []byte with a source argument of a string type.
|
|
371
371
|
// This form copies the bytes from the string into the byte slice."
|
|
372
372
|
|
|
373
|
+
// In either case, the first argument must be a slice; in particular it
|
|
374
|
+
// cannot be the predeclared nil value. Note that nil is not excluded by
|
|
375
|
+
// the assignability requirement alone for the special case (go.dev/issue/79687).
|
|
376
|
+
// spec: "If the type of one or both arguments is a type parameter, all types
|
|
377
|
+
// in their respective type sets must have the same underlying slice type []E."
|
|
378
|
+
dstE, err := sliceElem(x)
|
|
379
|
+
if err != nil {
|
|
380
|
+
check.errorf(x, InvalidCopy, "invalid copy: %s", err.format(check))
|
|
381
|
+
return
|
|
382
|
+
}
|
|
383
|
+
|
|
373
384
|
// get special case out of the way
|
|
374
385
|
y := args[1]
|
|
375
386
|
var special bool
|
|
376
387
|
if ok, _ := x.assignableTo(check, NewSlice(universeByte), nil); ok {
|
|
377
388
|
special = true
|
|
378
|
-
for _, u := range typeset(y.typ) {
|
|
389
|
+
for _, u := range typeset(y.typ()) {
|
|
379
390
|
if s, _ := u.(*Slice); s != nil && Identical(s.elem, universeByte) {
|
|
380
391
|
// typeset ⊇ {[]byte}
|
|
381
392
|
} else if u != nil && isString(u) {
|
|
@@ -389,17 +400,10 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
389
400
|
|
|
390
401
|
// general case
|
|
391
402
|
if !special {
|
|
392
|
-
// spec: "If the type of one or both arguments is a type parameter, all types
|
|
393
|
-
// in their respective type sets must have the same underlying slice type []E."
|
|
394
|
-
dstE, err := sliceElem(x)
|
|
395
|
-
if err != nil {
|
|
396
|
-
check.errorf(x, InvalidCopy, "invalid copy: %s", err.format(check))
|
|
397
|
-
return
|
|
398
|
-
}
|
|
399
403
|
srcE, err := sliceElem(y)
|
|
400
404
|
if err != nil {
|
|
401
405
|
// If we have a string, for a better error message proceed with byte element type.
|
|
402
|
-
if !allString(y.typ) {
|
|
406
|
+
if !allString(y.typ()) {
|
|
403
407
|
check.errorf(y, InvalidCopy, "invalid copy: %s", err.format(check))
|
|
404
408
|
return
|
|
405
409
|
}
|
|
@@ -412,16 +416,16 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
412
416
|
}
|
|
413
417
|
|
|
414
418
|
if check.recordTypes() {
|
|
415
|
-
check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ, y.typ))
|
|
419
|
+
check.recordBuiltinType(call.Fun, makeSig(Typ[Int], x.typ(), y.typ()))
|
|
416
420
|
}
|
|
417
|
-
x.
|
|
418
|
-
x.
|
|
421
|
+
x.mode_ = value
|
|
422
|
+
x.typ_ = Typ[Int]
|
|
419
423
|
|
|
420
424
|
case _Delete:
|
|
421
425
|
// delete(map_, key)
|
|
422
426
|
// map_ must be a map type or a type parameter describing map types.
|
|
423
427
|
// The key cannot be a type parameter for now.
|
|
424
|
-
map_ := x.typ
|
|
428
|
+
map_ := x.typ()
|
|
425
429
|
var key Type
|
|
426
430
|
if !underIs(map_, func(u Type) bool {
|
|
427
431
|
map_, _ := u.(*Map)
|
|
@@ -441,11 +445,11 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
441
445
|
|
|
442
446
|
*x = *args[1] // key
|
|
443
447
|
check.assignment(x, key, "argument to delete")
|
|
444
|
-
if x.
|
|
448
|
+
if !x.isValid() {
|
|
445
449
|
return
|
|
446
450
|
}
|
|
447
451
|
|
|
448
|
-
x.
|
|
452
|
+
x.mode_ = novalue
|
|
449
453
|
if check.recordTypes() {
|
|
450
454
|
check.recordBuiltinType(call.Fun, makeSig(nil, map_, key))
|
|
451
455
|
}
|
|
@@ -455,12 +459,12 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
455
459
|
// real(complexT) floatT
|
|
456
460
|
|
|
457
461
|
// convert or check untyped argument
|
|
458
|
-
if isUntyped(x.typ) {
|
|
459
|
-
if x.mode == constant_ {
|
|
462
|
+
if isUntyped(x.typ()) {
|
|
463
|
+
if x.mode() == constant_ {
|
|
460
464
|
// an untyped constant number can always be considered
|
|
461
465
|
// as a complex constant
|
|
462
|
-
if isNumeric(x.typ) {
|
|
463
|
-
x.
|
|
466
|
+
if isNumeric(x.typ()) {
|
|
467
|
+
x.typ_ = Typ[UntypedComplex]
|
|
464
468
|
}
|
|
465
469
|
} else {
|
|
466
470
|
// an untyped non-constant argument may appear if
|
|
@@ -469,7 +473,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
469
473
|
// result in an error (shift of complex value)
|
|
470
474
|
check.convertUntyped(x, Typ[Complex128])
|
|
471
475
|
// x should be invalid now, but be conservative and check
|
|
472
|
-
if x.
|
|
476
|
+
if !x.isValid() {
|
|
473
477
|
return
|
|
474
478
|
}
|
|
475
479
|
}
|
|
@@ -497,26 +501,26 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
497
501
|
if id == _Real {
|
|
498
502
|
code = InvalidReal
|
|
499
503
|
}
|
|
500
|
-
check.errorf(x, code, invalidArg+"argument has type %s, expected complex type", x.typ)
|
|
504
|
+
check.errorf(x, code, invalidArg+"argument has type %s, expected complex type", x.typ())
|
|
501
505
|
return
|
|
502
506
|
}
|
|
503
507
|
|
|
504
508
|
// if the argument is a constant, the result is a constant
|
|
505
|
-
if x.mode == constant_ {
|
|
509
|
+
if x.mode() == constant_ {
|
|
506
510
|
if id == _Real {
|
|
507
511
|
x.val = constant.Real(x.val)
|
|
508
512
|
} else {
|
|
509
513
|
x.val = constant.Imag(x.val)
|
|
510
514
|
}
|
|
511
515
|
} else {
|
|
512
|
-
x.
|
|
516
|
+
x.mode_ = value
|
|
513
517
|
}
|
|
514
518
|
|
|
515
|
-
if check.recordTypes() && x.mode != constant_ {
|
|
516
|
-
check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ))
|
|
519
|
+
if check.recordTypes() && x.mode() != constant_ {
|
|
520
|
+
check.recordBuiltinType(call.Fun, makeSig(resTyp, x.typ()))
|
|
517
521
|
}
|
|
518
522
|
|
|
519
|
-
x.
|
|
523
|
+
x.typ_ = resTyp
|
|
520
524
|
|
|
521
525
|
case _Make:
|
|
522
526
|
// make(T, n)
|
|
@@ -571,10 +575,10 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
571
575
|
check.error(argList[1], SwappedMakeArgs, invalidArg+"length and capacity swapped")
|
|
572
576
|
// safe to continue
|
|
573
577
|
}
|
|
574
|
-
x.
|
|
575
|
-
x.
|
|
578
|
+
x.mode_ = value
|
|
579
|
+
x.typ_ = T
|
|
576
580
|
if check.recordTypes() {
|
|
577
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, types...))
|
|
581
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), types...))
|
|
578
582
|
}
|
|
579
583
|
|
|
580
584
|
case _Max, _Min:
|
|
@@ -588,11 +592,11 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
588
592
|
}
|
|
589
593
|
|
|
590
594
|
for i, a := range args {
|
|
591
|
-
if a.
|
|
595
|
+
if !a.isValid() {
|
|
592
596
|
return
|
|
593
597
|
}
|
|
594
598
|
|
|
595
|
-
if !allOrdered(a.typ) {
|
|
599
|
+
if !allOrdered(a.typ()) {
|
|
596
600
|
check.errorf(a, InvalidMinMaxOperand, invalidArg+"%s cannot be ordered", a)
|
|
597
601
|
return
|
|
598
602
|
}
|
|
@@ -600,46 +604,46 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
600
604
|
// The first argument is already in x and there's nothing left to do.
|
|
601
605
|
if i > 0 {
|
|
602
606
|
check.matchTypes(x, a)
|
|
603
|
-
if x.
|
|
607
|
+
if !x.isValid() {
|
|
604
608
|
return
|
|
605
609
|
}
|
|
606
610
|
|
|
607
|
-
if !Identical(x.typ, a.typ) {
|
|
608
|
-
check.errorf(a, MismatchedTypes, invalidArg+"mismatched types %s (previous argument) and %s (type of %s)", x.typ, a.typ, a.expr)
|
|
611
|
+
if !Identical(x.typ(), a.typ()) {
|
|
612
|
+
check.errorf(a, MismatchedTypes, invalidArg+"mismatched types %s (previous argument) and %s (type of %s)", x.typ(), a.typ(), a.expr)
|
|
609
613
|
return
|
|
610
614
|
}
|
|
611
615
|
|
|
612
|
-
if x.mode == constant_ && a.mode == constant_ {
|
|
616
|
+
if x.mode() == constant_ && a.mode() == constant_ {
|
|
613
617
|
if constant.Compare(a.val, op, x.val) {
|
|
614
618
|
*x = *a
|
|
615
619
|
}
|
|
616
620
|
} else {
|
|
617
|
-
x.
|
|
621
|
+
x.mode_ = value
|
|
618
622
|
}
|
|
619
623
|
}
|
|
620
624
|
}
|
|
621
625
|
|
|
622
626
|
// If nargs == 1, make sure x.mode is either a value or a constant.
|
|
623
|
-
if x.mode != constant_ {
|
|
624
|
-
x.
|
|
627
|
+
if x.mode() != constant_ {
|
|
628
|
+
x.mode_ = value
|
|
625
629
|
// A value must not be untyped.
|
|
626
630
|
check.assignment(x, &emptyInterface, "argument to built-in "+bin.name)
|
|
627
|
-
if x.
|
|
631
|
+
if !x.isValid() {
|
|
628
632
|
return
|
|
629
633
|
}
|
|
630
634
|
}
|
|
631
635
|
|
|
632
636
|
// Use the final type computed above for all arguments.
|
|
633
637
|
for _, a := range args {
|
|
634
|
-
check.updateExprType(a.expr, x.typ, true)
|
|
638
|
+
check.updateExprType(a.expr, x.typ(), true)
|
|
635
639
|
}
|
|
636
640
|
|
|
637
|
-
if check.recordTypes() && x.mode != constant_ {
|
|
641
|
+
if check.recordTypes() && x.mode() != constant_ {
|
|
638
642
|
types := make([]Type, nargs)
|
|
639
643
|
for i := range types {
|
|
640
|
-
types[i] = x.typ
|
|
644
|
+
types[i] = x.typ()
|
|
641
645
|
}
|
|
642
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, types...))
|
|
646
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), types...))
|
|
643
647
|
}
|
|
644
648
|
|
|
645
649
|
case _New:
|
|
@@ -648,31 +652,31 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
648
652
|
arg := argList[0]
|
|
649
653
|
check.exprOrType(x, arg, false)
|
|
650
654
|
check.exclude(x, 1<<novalue|1<<builtin)
|
|
651
|
-
switch x.mode {
|
|
655
|
+
switch x.mode() {
|
|
652
656
|
case invalid:
|
|
653
657
|
return
|
|
654
658
|
case typexpr:
|
|
655
659
|
// new(T)
|
|
656
|
-
check.validVarType(arg, x.typ)
|
|
660
|
+
check.validVarType(arg, x.typ())
|
|
657
661
|
default:
|
|
658
662
|
// new(expr)
|
|
659
|
-
if isUntyped(x.typ) {
|
|
663
|
+
if isUntyped(x.typ()) {
|
|
660
664
|
// check for overflow and untyped nil
|
|
661
665
|
check.assignment(x, nil, "argument to new")
|
|
662
|
-
if x.
|
|
666
|
+
if !x.isValid() {
|
|
663
667
|
return
|
|
664
668
|
}
|
|
665
|
-
assert(isTyped(x.typ))
|
|
669
|
+
assert(isTyped(x.typ()))
|
|
666
670
|
}
|
|
667
671
|
// report version error only if there are no other errors
|
|
668
672
|
check.verifyVersionf(call.Fun, go1_26, "new(%s)", arg)
|
|
669
673
|
}
|
|
670
674
|
|
|
671
|
-
T := x.typ
|
|
672
|
-
x.
|
|
673
|
-
x.
|
|
675
|
+
T := x.typ()
|
|
676
|
+
x.mode_ = value
|
|
677
|
+
x.typ_ = NewPointer(T)
|
|
674
678
|
if check.recordTypes() {
|
|
675
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, T))
|
|
679
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), T))
|
|
676
680
|
}
|
|
677
681
|
|
|
678
682
|
case _Panic:
|
|
@@ -691,11 +695,11 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
691
695
|
}
|
|
692
696
|
|
|
693
697
|
check.assignment(x, &emptyInterface, "argument to panic")
|
|
694
|
-
if x.
|
|
698
|
+
if !x.isValid() {
|
|
695
699
|
return
|
|
696
700
|
}
|
|
697
701
|
|
|
698
|
-
x.
|
|
702
|
+
x.mode_ = novalue
|
|
699
703
|
if check.recordTypes() {
|
|
700
704
|
check.recordBuiltinType(call.Fun, makeSig(nil, &emptyInterface))
|
|
701
705
|
}
|
|
@@ -708,24 +712,24 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
708
712
|
params = make([]Type, nargs)
|
|
709
713
|
for i, a := range args {
|
|
710
714
|
check.assignment(a, nil, "argument to built-in "+predeclaredFuncs[id].name)
|
|
711
|
-
if a.
|
|
715
|
+
if !a.isValid() {
|
|
712
716
|
return
|
|
713
717
|
}
|
|
714
|
-
params[i] = a.typ
|
|
718
|
+
params[i] = a.typ()
|
|
715
719
|
}
|
|
716
720
|
}
|
|
717
721
|
|
|
718
|
-
x.
|
|
722
|
+
x.mode_ = novalue
|
|
719
723
|
if check.recordTypes() {
|
|
720
724
|
check.recordBuiltinType(call.Fun, makeSig(nil, params...))
|
|
721
725
|
}
|
|
722
726
|
|
|
723
727
|
case _Recover:
|
|
724
728
|
// recover() interface{}
|
|
725
|
-
x.
|
|
726
|
-
x.
|
|
729
|
+
x.mode_ = value
|
|
730
|
+
x.typ_ = &emptyInterface
|
|
727
731
|
if check.recordTypes() {
|
|
728
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ))
|
|
732
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ()))
|
|
729
733
|
}
|
|
730
734
|
|
|
731
735
|
case _Add:
|
|
@@ -733,7 +737,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
733
737
|
check.verifyVersionf(call.Fun, go1_17, "unsafe.Add")
|
|
734
738
|
|
|
735
739
|
check.assignment(x, Typ[UnsafePointer], "argument to unsafe.Add")
|
|
736
|
-
if x.
|
|
740
|
+
if !x.isValid() {
|
|
737
741
|
return
|
|
738
742
|
}
|
|
739
743
|
|
|
@@ -742,30 +746,30 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
742
746
|
return
|
|
743
747
|
}
|
|
744
748
|
|
|
745
|
-
x.
|
|
746
|
-
x.
|
|
749
|
+
x.mode_ = value
|
|
750
|
+
x.typ_ = Typ[UnsafePointer]
|
|
747
751
|
if check.recordTypes() {
|
|
748
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, x.typ, y.typ))
|
|
752
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), x.typ(), y.typ()))
|
|
749
753
|
}
|
|
750
754
|
|
|
751
755
|
case _Alignof:
|
|
752
756
|
// unsafe.Alignof(x T) uintptr
|
|
753
757
|
check.assignment(x, nil, "argument to unsafe.Alignof")
|
|
754
|
-
if x.
|
|
758
|
+
if !x.isValid() {
|
|
755
759
|
return
|
|
756
760
|
}
|
|
757
761
|
|
|
758
|
-
if hasVarSize(x.typ
|
|
759
|
-
x.
|
|
762
|
+
if check.hasVarSize(x.typ()) {
|
|
763
|
+
x.mode_ = value
|
|
760
764
|
if check.recordTypes() {
|
|
761
|
-
check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ))
|
|
765
|
+
check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ()))
|
|
762
766
|
}
|
|
763
767
|
} else {
|
|
764
|
-
x.
|
|
765
|
-
x.val = constant.MakeInt64(check.conf.alignof(x.typ))
|
|
768
|
+
x.mode_ = constant_
|
|
769
|
+
x.val = constant.MakeInt64(check.conf.alignof(x.typ()))
|
|
766
770
|
// result is constant - no need to record signature
|
|
767
771
|
}
|
|
768
|
-
x.
|
|
772
|
+
x.typ_ = Typ[Uintptr]
|
|
769
773
|
|
|
770
774
|
case _Offsetof:
|
|
771
775
|
// unsafe.Offsetof(x T) uintptr, where x must be a selector
|
|
@@ -779,11 +783,11 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
779
783
|
}
|
|
780
784
|
|
|
781
785
|
check.expr(nil, x, selx.X)
|
|
782
|
-
if x.
|
|
786
|
+
if !x.isValid() {
|
|
783
787
|
return
|
|
784
788
|
}
|
|
785
789
|
|
|
786
|
-
base := derefStructPtr(x.typ)
|
|
790
|
+
base := derefStructPtr(x.typ())
|
|
787
791
|
sel := selx.Sel.Name
|
|
788
792
|
obj, index, indirect := lookupFieldOrMethod(base, false, check.pkg, sel, false)
|
|
789
793
|
switch obj.(type) {
|
|
@@ -809,7 +813,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
809
813
|
// record the selector expression (was bug - go.dev/issue/47895)
|
|
810
814
|
{
|
|
811
815
|
mode := value
|
|
812
|
-
if x.mode == variable || indirect {
|
|
816
|
+
if x.mode() == variable || indirect {
|
|
813
817
|
mode = variable
|
|
814
818
|
}
|
|
815
819
|
check.record(&operand{mode, selx, obj.Type(), nil, 0})
|
|
@@ -819,8 +823,8 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
819
823
|
// the part of the struct which is variable-sized. This makes both the rules
|
|
820
824
|
// simpler and also permits (or at least doesn't prevent) a compiler from re-
|
|
821
825
|
// arranging struct fields if it wanted to.
|
|
822
|
-
if hasVarSize(base
|
|
823
|
-
x.
|
|
826
|
+
if check.hasVarSize(base) {
|
|
827
|
+
x.mode_ = value
|
|
824
828
|
if check.recordTypes() {
|
|
825
829
|
check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], obj.Type()))
|
|
826
830
|
}
|
|
@@ -830,41 +834,41 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
830
834
|
check.errorf(x, TypeTooLarge, "%s is too large", x)
|
|
831
835
|
return
|
|
832
836
|
}
|
|
833
|
-
x.
|
|
837
|
+
x.mode_ = constant_
|
|
834
838
|
x.val = constant.MakeInt64(offs)
|
|
835
839
|
// result is constant - no need to record signature
|
|
836
840
|
}
|
|
837
|
-
x.
|
|
841
|
+
x.typ_ = Typ[Uintptr]
|
|
838
842
|
|
|
839
843
|
case _Sizeof:
|
|
840
844
|
// unsafe.Sizeof(x T) uintptr
|
|
841
845
|
check.assignment(x, nil, "argument to unsafe.Sizeof")
|
|
842
|
-
if x.
|
|
846
|
+
if !x.isValid() {
|
|
843
847
|
return
|
|
844
848
|
}
|
|
845
849
|
|
|
846
|
-
if hasVarSize(x.typ
|
|
847
|
-
x.
|
|
850
|
+
if check.hasVarSize(x.typ()) {
|
|
851
|
+
x.mode_ = value
|
|
848
852
|
if check.recordTypes() {
|
|
849
|
-
check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ))
|
|
853
|
+
check.recordBuiltinType(call.Fun, makeSig(Typ[Uintptr], x.typ()))
|
|
850
854
|
}
|
|
851
855
|
} else {
|
|
852
|
-
size := check.conf.sizeof(x.typ)
|
|
856
|
+
size := check.conf.sizeof(x.typ())
|
|
853
857
|
if size < 0 {
|
|
854
858
|
check.errorf(x, TypeTooLarge, "%s is too large", x)
|
|
855
859
|
return
|
|
856
860
|
}
|
|
857
|
-
x.
|
|
861
|
+
x.mode_ = constant_
|
|
858
862
|
x.val = constant.MakeInt64(size)
|
|
859
863
|
// result is constant - no need to record signature
|
|
860
864
|
}
|
|
861
|
-
x.
|
|
865
|
+
x.typ_ = Typ[Uintptr]
|
|
862
866
|
|
|
863
867
|
case _Slice:
|
|
864
868
|
// unsafe.Slice(ptr *T, len IntegerType) []T
|
|
865
869
|
check.verifyVersionf(call.Fun, go1_17, "unsafe.Slice")
|
|
866
870
|
|
|
867
|
-
u, _ := commonUnder(x.typ, nil)
|
|
871
|
+
u, _ := commonUnder(x.typ(), nil)
|
|
868
872
|
ptr, _ := u.(*Pointer)
|
|
869
873
|
if ptr == nil {
|
|
870
874
|
check.errorf(x, InvalidUnsafeSlice, invalidArg+"%s is not a pointer", x)
|
|
@@ -876,27 +880,27 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
876
880
|
return
|
|
877
881
|
}
|
|
878
882
|
|
|
879
|
-
x.
|
|
880
|
-
x.
|
|
883
|
+
x.mode_ = value
|
|
884
|
+
x.typ_ = NewSlice(ptr.base)
|
|
881
885
|
if check.recordTypes() {
|
|
882
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, ptr, y.typ))
|
|
886
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), ptr, y.typ()))
|
|
883
887
|
}
|
|
884
888
|
|
|
885
889
|
case _SliceData:
|
|
886
890
|
// unsafe.SliceData(slice []T) *T
|
|
887
891
|
check.verifyVersionf(call.Fun, go1_20, "unsafe.SliceData")
|
|
888
892
|
|
|
889
|
-
u, _ := commonUnder(x.typ, nil)
|
|
893
|
+
u, _ := commonUnder(x.typ(), nil)
|
|
890
894
|
slice, _ := u.(*Slice)
|
|
891
895
|
if slice == nil {
|
|
892
896
|
check.errorf(x, InvalidUnsafeSliceData, invalidArg+"%s is not a slice", x)
|
|
893
897
|
return
|
|
894
898
|
}
|
|
895
899
|
|
|
896
|
-
x.
|
|
897
|
-
x.
|
|
900
|
+
x.mode_ = value
|
|
901
|
+
x.typ_ = NewPointer(slice.elem)
|
|
898
902
|
if check.recordTypes() {
|
|
899
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, slice))
|
|
903
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), slice))
|
|
900
904
|
}
|
|
901
905
|
|
|
902
906
|
case _String:
|
|
@@ -904,7 +908,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
904
908
|
check.verifyVersionf(call.Fun, go1_20, "unsafe.String")
|
|
905
909
|
|
|
906
910
|
check.assignment(x, NewPointer(universeByte), "argument to unsafe.String")
|
|
907
|
-
if x.
|
|
911
|
+
if !x.isValid() {
|
|
908
912
|
return
|
|
909
913
|
}
|
|
910
914
|
|
|
@@ -913,10 +917,10 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
913
917
|
return
|
|
914
918
|
}
|
|
915
919
|
|
|
916
|
-
x.
|
|
917
|
-
x.
|
|
920
|
+
x.mode_ = value
|
|
921
|
+
x.typ_ = Typ[String]
|
|
918
922
|
if check.recordTypes() {
|
|
919
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, NewPointer(universeByte), y.typ))
|
|
923
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), NewPointer(universeByte), y.typ()))
|
|
920
924
|
}
|
|
921
925
|
|
|
922
926
|
case _StringData:
|
|
@@ -924,21 +928,21 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
924
928
|
check.verifyVersionf(call.Fun, go1_20, "unsafe.StringData")
|
|
925
929
|
|
|
926
930
|
check.assignment(x, Typ[String], "argument to unsafe.StringData")
|
|
927
|
-
if x.
|
|
931
|
+
if !x.isValid() {
|
|
928
932
|
return
|
|
929
933
|
}
|
|
930
934
|
|
|
931
|
-
x.
|
|
932
|
-
x.
|
|
935
|
+
x.mode_ = value
|
|
936
|
+
x.typ_ = NewPointer(universeByte)
|
|
933
937
|
if check.recordTypes() {
|
|
934
|
-
check.recordBuiltinType(call.Fun, makeSig(x.typ, Typ[String]))
|
|
938
|
+
check.recordBuiltinType(call.Fun, makeSig(x.typ(), Typ[String]))
|
|
935
939
|
}
|
|
936
940
|
|
|
937
941
|
case _Assert:
|
|
938
942
|
// assert(pred) causes a typechecker error if pred is false.
|
|
939
943
|
// The result of assert is the value of pred if there is no error.
|
|
940
944
|
// Note: assert is only available in self-test mode.
|
|
941
|
-
if x.mode != constant_ || !isBoolean(x.typ) {
|
|
945
|
+
if x.mode() != constant_ || !isBoolean(x.typ()) {
|
|
942
946
|
check.errorf(x, Test, invalidArg+"%s is not a boolean constant", x)
|
|
943
947
|
return
|
|
944
948
|
}
|
|
@@ -960,7 +964,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
960
964
|
// (no argument evaluated yet)
|
|
961
965
|
if nargs == 0 {
|
|
962
966
|
check.dump("%v: trace() without arguments", call.Pos())
|
|
963
|
-
x.
|
|
967
|
+
x.mode_ = novalue
|
|
964
968
|
break
|
|
965
969
|
}
|
|
966
970
|
var t operand
|
|
@@ -970,7 +974,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
970
974
|
check.dump("%v: %s", x1.Pos(), x1)
|
|
971
975
|
x1 = &t // use incoming x only for first argument
|
|
972
976
|
}
|
|
973
|
-
if x.
|
|
977
|
+
if !x.isValid() {
|
|
974
978
|
return
|
|
975
979
|
}
|
|
976
980
|
// trace is only available in test mode - no need to record signature
|
|
@@ -979,7 +983,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
979
983
|
panic("unreachable")
|
|
980
984
|
}
|
|
981
985
|
|
|
982
|
-
assert(x.
|
|
986
|
+
assert(x.isValid())
|
|
983
987
|
return true
|
|
984
988
|
}
|
|
985
989
|
|
|
@@ -987,7 +991,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
|
|
|
987
991
|
// or a type error if x is not a slice (or a type set of slices).
|
|
988
992
|
func sliceElem(x *operand) (Type, *typeError) {
|
|
989
993
|
var E Type
|
|
990
|
-
for _, u := range typeset(x.typ) {
|
|
994
|
+
for _, u := range typeset(x.typ()) {
|
|
991
995
|
s, _ := u.(*Slice)
|
|
992
996
|
if s == nil {
|
|
993
997
|
if x.isNil() {
|
|
@@ -1010,37 +1014,64 @@ func sliceElem(x *operand) (Type, *typeError) {
|
|
|
1010
1014
|
// hasVarSize reports if the size of type t is variable due to type parameters
|
|
1011
1015
|
// or if the type is infinitely-sized due to a cycle for which the type has not
|
|
1012
1016
|
// yet been checked.
|
|
1013
|
-
func
|
|
1014
|
-
//
|
|
1015
|
-
//
|
|
1016
|
-
//
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1017
|
+
func (check *Checker) hasVarSize(t Type) bool {
|
|
1018
|
+
// Note: We could use Underlying here, but passing through the RHS may yield
|
|
1019
|
+
// better error messages and allows us to stash the result on each traversed
|
|
1020
|
+
// Named type.
|
|
1021
|
+
switch t := Unalias(t).(type) {
|
|
1022
|
+
case *Named:
|
|
1023
|
+
if t.stateHas(hasVarSize) {
|
|
1024
|
+
return t.varSize
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
if i, ok := check.objPathIdx[t.obj]; ok {
|
|
1028
|
+
cycle := check.objPath[i:]
|
|
1029
|
+
check.cycleError(cycle, firstInSrc(cycle))
|
|
1030
|
+
return true
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
obj := t.obj
|
|
1034
|
+
check.push(obj)
|
|
1035
|
+
defer check.pop()
|
|
1036
|
+
|
|
1037
|
+
// Careful, we're inspecting t.fromRHS, so we need to unpack first.
|
|
1038
|
+
t.unpack()
|
|
1039
|
+
varSize := check.hasVarSize(t.rhs())
|
|
1040
|
+
|
|
1041
|
+
// Special case for portable simd types that rewrite to unknown sizes.
|
|
1042
|
+
if pkg := obj.Pkg(); pkg != nil && pkg.Path() == "simd" && obj.Name() == "_simd" {
|
|
1043
|
+
varSize = true
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
t.mu.Lock()
|
|
1047
|
+
defer t.mu.Unlock()
|
|
1048
|
+
|
|
1049
|
+
// Careful, t.varSize has lock-free readers. Since we might be racing
|
|
1050
|
+
// another call to hasVarSize, we have to avoid overwriting t.varSize.
|
|
1051
|
+
// Otherwise, the race detector will be tripped.
|
|
1052
|
+
if !t.stateHas(hasVarSize) {
|
|
1053
|
+
t.varSize = varSize
|
|
1054
|
+
t.setState(hasVarSize)
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
return varSize
|
|
1029
1058
|
|
|
1030
|
-
switch u := t.Underlying().(type) {
|
|
1031
1059
|
case *Array:
|
|
1032
|
-
|
|
1060
|
+
// The array length is already computed. If it was a valid length, it
|
|
1061
|
+
// is constant; else, an error was reported in the computation.
|
|
1062
|
+
return check.hasVarSize(t.elem)
|
|
1063
|
+
|
|
1033
1064
|
case *Struct:
|
|
1034
|
-
for _, f := range
|
|
1035
|
-
if hasVarSize(f.typ
|
|
1065
|
+
for _, f := range t.fields {
|
|
1066
|
+
if check.hasVarSize(f.typ) {
|
|
1036
1067
|
return true
|
|
1037
1068
|
}
|
|
1038
1069
|
}
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
panic("unreachable")
|
|
1070
|
+
|
|
1071
|
+
case *TypeParam:
|
|
1072
|
+
return true
|
|
1043
1073
|
}
|
|
1074
|
+
|
|
1044
1075
|
return false
|
|
1045
1076
|
}
|
|
1046
1077
|
|
|
@@ -1052,7 +1083,7 @@ func hasVarSize(t Type, seen map[*Named]bool) (varSized bool) {
|
|
|
1052
1083
|
// applyTypeFunc returns nil.
|
|
1053
1084
|
// If x is not a type parameter, the result is f(x).
|
|
1054
1085
|
func (check *Checker) applyTypeFunc(f func(Type) Type, x *operand, id builtinId) Type {
|
|
1055
|
-
if tp, _ := Unalias(x.typ).(*TypeParam); tp != nil {
|
|
1086
|
+
if tp, _ := Unalias(x.typ()).(*TypeParam); tp != nil {
|
|
1056
1087
|
// Test if t satisfies the requirements for the argument
|
|
1057
1088
|
// type and collect possible result types at the same time.
|
|
1058
1089
|
var terms []*Term
|
|
@@ -1096,7 +1127,7 @@ func (check *Checker) applyTypeFunc(f func(Type) Type, x *operand, id builtinId)
|
|
|
1096
1127
|
return ptyp
|
|
1097
1128
|
}
|
|
1098
1129
|
|
|
1099
|
-
return f(x.typ)
|
|
1130
|
+
return f(x.typ())
|
|
1100
1131
|
}
|
|
1101
1132
|
|
|
1102
1133
|
// makeSig makes a signature for the given argument and result types.
|