| Age | Commit message (Collapse) | Author |
|
This change aligns modfetch.State with modload.State by using pointer
parameters and receivers.
[git-generate]
cd src/cmd/go/internal/modload
sed -i '
s/oldState/old/
s/old := State{/old = \&State{/
s/func (s \*State) setState(new State) State {/func (s *State) setState(new *State) (old *State) {/
s/setState(State{})/setState(NewState())/
' init.go
cd ../modfetch
sed -i '
s/oldState = State{/oldState = \&State{/
s/func SetState(newState State) (oldState State) {/func SetState(newState *State) (oldState *State) {/
s/SetState(State{})/SetState(NewState())/
' fetch.go
cd ../modload
sed -i '
s/old.modfetchState = modfetch.SetState(new.modfetchState)/_ = modfetch.SetState(\&new.modfetchState)/
' init.go
rf '
#
# Prepare to swap the existing modfetchState field for a pointer type
#
mv State.modfetchState State.modfetchState_
add State:/modfetchState_/+0 modfetchState *modfetch.State
#
# Update State.setState to set & restore additional values
#
add State.setState:/s\.requirements,/+0 workFilePath: s.workFilePath,
add State.setState:/s\.workFilePath,/+0 modfetchState: s.modfetchState,
#
# Swap the existing modfetchState field for a pointer type
#
add init.go:/.* = modfetch.SetState\(.*\)/-0 s.modfetchState = new.modfetchState
add init.go:/.* = modfetch.SetState\(.*\)/-0 old.modfetchState = modfetch.SetState(s.modfetchState) // TODO(jitsu): remove after completing global state elimination
rm init.go:/_ = modfetch.SetState\(.*\)/
rm State.modfetchState_
'
sed -i '
s/return &State{}/s := new(State)\ns.modfetchState = modfetch.NewState()\nreturn s/
' init.go
go fmt
Change-Id: I0602ecf976fd3ee93844e77989291d729ad71595
Reviewed-on: https://go-review.googlesource.com/c/go/+/720900
Reviewed-by: Michael Matloob <matloob@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
|
|
This commit unexports critical State fields and provides setter
methods to update their values.
[git-generate]
cd src/cmd/go/internal/modfetch
rf '
add fetch.go:490 var jitsu int = 0 // rf marker
mv State.GoSumFile State.GoSumFile_
mv State.WorkspaceGoSumFiles State.WorkspaceGoSumFiles_
add jitsu \
func (s *State) GoSumFile() string { \
return ""
} \
\
func (s *State) SetGoSumFile(str string) { \
} \
\
func (s *State) AddWorkspaceGoSumFile(file string) { \
s.WorkspaceGoSumFiles_ = append(s.WorkspaceGoSumFiles_, file) \
}
\
ex {
var s *State
var x string
s.GoSumFile_ = x -> s.SetGoSumFile(x)
}
rm jitsu
'
cd ../modload
sed -i '
s/modfetch.ModuleFetchState.WorkspaceGoSumFiles_ = append(modfetch.ModuleFetchState.WorkspaceGoSumFiles_, sumFile)/modfetch.ModuleFetchState.AddWorkspaceGoSumFile(sumFile)/
' init.go
for dir in modcmd modload ; do
cd ../${dir}
rf '
ex {
import "cmd/go/internal/modfetch"
var s *modfetch.State
var x string
s.GoSumFile_ = x -> s.SetGoSumFile(x)
}
'
done
cd ../modfetch
rf '
mv State.GoSumFile_ State.goSumFile
mv State.WorkspaceGoSumFiles_ State.workspaceGoSumFiles
add State.GoSumFile: return s.goSumFile
rm State.GoSumFile://+1
add State.SetGoSumFile: s.goSumFile = str
'
Change-Id: Iff694aad7ad1cc62d2096c210dbaa3cce2b4061d
Reviewed-on: https://go-review.googlesource.com/c/go/+/720840
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Mark Freeman <markfreeman@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
Copy LabelSet to an internal package as label.Set, and include (escaped)
labels within goroutine stack dumps.
Labels are added to the goroutine header as quoted key:value pairs, so
the line may get long if there are a lot of labels.
To handle escaping, we add a printescaped function to the
runtime and hook it up to the print function in the compiler with a new
runtime.quoted type that's a sibling to runtime.hex. (in fact, we
leverage some of the machinery from printhex to generate escape
sequences).
The escaping can be improved for printable runes outside basic ASCII
(particularly for languages using non-latin stripts). Additionally,
invalid UTF-8 can be improved.
So we can experiment with the output format make this opt-in via a
a new tracebacklabels GODEBUG var.
Updates #23458
Updates #76349
Change-Id: I08e78a40c55839a809236fff593ef2090c13c036
Reviewed-on: https://go-review.googlesource.com/c/go/+/694119
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
|
|
This brings in CL 722200 which adds necessary HTTP/2 support for
net/http.Transport.NewClientConn.
For #75772
Change-Id: I5489232401096982ed21002f293dd0f87fe2fba6
Reviewed-on: https://go-review.googlesource.com/c/go/+/723901
Reviewed-by: Nicholas Husin <nsh@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Damien Neil <dneil@google.com>
Reviewed-by: Nicholas Husin <husin@google.com>
|
|
Tricky index-offset logic had been added for slices,
but not for strings. This fixes that, and also adds
tests for same behavior in string/slice cases, and adds
a new test for code in prove that had been added but not
explicitly tested.
Fixes #76270.
Change-Id: Ibd92b89e944d86b7f30b4486a9008e6f1ac6af7d
Reviewed-on: https://go-review.googlesource.com/c/go/+/723980
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
|
|
Change-Id: Ic113d59144aa2d37c8988559fbc086f5c29c0b69
GitHub-Last-Rev: e2623be0a00464d9be845da53fb1a67520fc1716
GitHub-Pull-Request: golang/go#76397
Reviewed-on: https://go-review.googlesource.com/c/go/+/722861
Reviewed-by: Michael Matloob <matloob@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
Merge List:
+ 2025-11-24 e704b0993b go/types, types2: shorten object map assertion
Change-Id: Ie45f971d2872c6b7f8f62d61e4d307ccf52a6546
|
|
It's a fairly well-known invariant that each object must exist in the
object map and cannot be nil. This change just shortens a check of
that invariant.
Change-Id: Id15c158c3a9ad91cdc230fb0b84eb69b2451cbdc
Reviewed-on: https://go-review.googlesource.com/c/go/+/722061
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Mark Freeman <markfreeman@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
|
|
Merge List:
+ 2025-11-24 02d1f3a06b runtime: respect GOTRACEBACK for user-triggered runtime panics
+ 2025-11-24 a593ca9d65 runtime/cgo: add support for `any` param and return type
+ 2025-11-24 89552911b3 cmd/compile, internal/buildcfg: enable regABI on s390x, and add s390x
+ 2025-11-24 2fe0ba8d52 internal/bytealg: port bytealg functions to reg ABI on s390x
+ 2025-11-24 4529c8fba6 runtime: port memmove, memclr to register ABI on s390x
+ 2025-11-24 58a48a3e3b internal/runtime/syscall: Syscall changes for s390x regabi
+ 2025-11-24 2a185fae7e reflect, runtime: add reflect support for regabi on s390x
+ 2025-11-24 e92d2964fa runtime: mark race functions on s390x as ABIInternal
+ 2025-11-24 41af98eb83 runtime: add runtime changes for register ABI on s390x
+ 2025-11-24 85e6080089 cmd/internal/obj: set morestack arg spilling and regabi prologue on s390x
+ 2025-11-24 24697419c5 cmd/compile: update s390x CALL* ops
+ 2025-11-24 81242d034c cmd/compile/internal/s390x: add initial spill support
+ 2025-11-24 73b6aa0fec cmd/compile/internal: add register ABI information for s390x
+ 2025-11-24 1036f6f485 internal/abi: define s390x ABI constants
+ 2025-11-24 2e5d12a277 cmd/compile: document register-based ABI for s390x
Change-Id: I57b4ae6f9b65d99958b9fe5974205770e18f7788
|
|
When using `any` as param or return type of an exported
function, we currently have the error `unrecognized Go
type any`. `any` is an alias of `interface{}` which is
already supported.
This would avoid such change: https://github.com/php/frankenphp/pull/1976
Fixes #76340
Change-Id: I301838ff72e99ae78b035a8eff2405f6a145ed1a
GitHub-Last-Rev: 7dfbccfa582bbc6e79ed29677391b9ae81a9b5bd
GitHub-Pull-Request: golang/go#76325
Reviewed-on: https://go-review.googlesource.com/c/go/+/720960
Reviewed-by: Mark Freeman <markfreeman@google.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
in test func hasRegisterABI
```
goos: linux
goarch: s390x
shortname: minio
pkg: github.com/minio/minio/cmd
│ old │ new
│
│ sec/op │ sec/op vs base
│
DecodehealingTracker-128 1227.5n ± 1% 894.6n ± 1% -27.12%
(p=0.000 n=10)
AppendMsgResyncTargetsInfo-128 8.755n ± 0% 4.942n ± 20% -43.55%
(p=0.000 n=10)
DataUpdateTracker-128 2.075µ ± 1% 1.949µ ± 1% -6.10%
(p=0.000 n=10)
MarshalMsgdataUsageCacheInfo-128 64.32n ± 2% 50.57n ± 6% -21.37%
(p=0.000 n=10)
geomean 194.6n 144.5n -25.76%
shortname: gonum_topo
pkg: gonum.org/v1/gonum/graph/topo
│ old │ new
│
│ sec/op │ sec/op vs base
│
TarjanSCCGnp_10_tenth-128 8.733µ ± 1% 6.953µ ± 2% -20.38%
(p=0.000 n=10)
TarjanSCCGnp_1000_half-128 101.60m ± 0% 72.79m ± 1% -28.36%
(p=0.000 n=10)
geomean 942.0µ 711.4µ -24.48%
shortname: gonum_traverse
pkg: gonum.org/v1/gonum/graph/traverse
│ old │
new │
│ sec/op │ sec/op vs
base │
WalkAllBreadthFirstGnp_10_tenth-128 3.871µ ± 2% 3.242µ ± 2%
-16.25% (p=0.000 n=10)
WalkAllBreadthFirstGnp_1000_tenth-128 11.879m ± 1% 9.034m ± 1%
-23.95% (p=0.000 n=10)
geomean 214.4µ 171.1µ
-20.19%
hortname: ericlagergren_decimal
pkg: github.com/ericlagergren/decimal/benchmarks
│ old │
new │
│ sec/op │ sec/op vs
base │
Pi/foo=ericlagergren_(Go)/prec=100-128 181.6µ ± 0% 145.3µ ± 2%
-20.01% (p=0.000 n=10)
Pi/foo=ericlagergren_(GDA)/prec=100-128 356.4µ ± 1% 298.2µ ± 2%
-16.33% (p=0.000 n=10)
Pi/foo=shopspring/prec=100-128 426.5µ ± 2% 403.1µ ± 4%
-5.47% (p=0.000 n=10)
Pi/foo=apmckinlay/prec=100-128 4.943µ ± 0% 3.903µ ± 1%
-21.03% (p=0.000 n=10)
Pi/foo=go-inf/prec=100-128 132.1µ ± 4% 119.7µ ± 3%
-9.37% (p=0.000 n=10)
Pi/foo=float64/prec=100-128 4.210µ ± 0% 4.210µ ± 0%
~ (p=0.269 n=10)
geomean 65.07µ 57.02µ
-12.37%
shortname: uber_tally
pkg: github.com/uber-go/tally
│ old │ new
│
│ sec/op │ sec/op vs base
│
ScopeTaggedNoCachedSubscopes-128 3.511µ ± 12% 3.067µ ± 6% -12.63%
(p=0.000 n=10)
HistogramAllocation-128 1.085µ ± 15% 1.011µ ± 6% -6.87%
(p=0.001 n=10)
geomean 1.952µ 1.760µ -9.80%
shortname: uber_zap
pkg: go.uber.org/zap/zapcore
│ old │
new │
│ sec/op │
sec/op vs base │
BufferedWriteSyncer/write_file_with_buffer-128 119.0n ± 3% 101.7n
± 5% -14.54% (p=0.000 n=10)
MultiWriteSyncer/2_discarder-128 13.320n ± 34% 9.410n
± 28% -29.35% (p=0.005 n=10)
MultiWriteSyncer/4_discarder-128 10.830n ± 10% 8.883n
± 8% -17.98% (p=0.000 n=10)
MultiWriteSyncer/4_discarder_with_buffer-128 119.0n ± 5% 104.1n
± 4% -12.52% (p=0.000 n=10)
WriteSyncer/write_file_with_no_buffer-128 1.393µ ± 10% 1.409µ
± 7% ~ (p=1.000 n=10)
ZapConsole-128 796.9n ± 14% 722.2n
± 7% -9.37% (p=0.003 n=10)
JSONLogMarshalerFunc-128 1.233µ ± 5% 1.095µ
± 8% -11.20% (p=0.002 n=10)
ZapJSON-128 560.7n ± 9% 547.9n
± 6% ~ (p=0.289 n=10)
StandardJSON-128 628.7n ± 7% 566.2n
± 7% -9.95% (p=0.001 n=10)
Sampler_Check/7_keys-128 8.068n ± 17% 8.232n
± 4% ~ (p=0.382 n=10)
Sampler_Check/50_keys-128 4.064n ± 13% 3.610n
± 17% ~ (p=0.063 n=10)
Sampler_Check/100_keys-128 6.559n ± 5% 6.386n
± 6% ~ (p=0.063 n=10)
Sampler_CheckWithHook/7_keys-128 40.04n ± 3% 36.82n
± 6% -8.05% (p=0.000 n=10)
Sampler_CheckWithHook/50_keys-128 39.48n ± 3% 36.48n
± 4% -7.61% (p=0.000 n=10)
Sampler_CheckWithHook/100_keys-128 41.27n ± 5% 40.85n
± 9% ~ (p=0.353 n=10)
TeeCheck-128 135.2n ± 11% 128.2n
± 10% ~ (p=0.190 n=10)
geomean 77.98n 70.91n
-9.07%
shortname: spexs2
pkg: github.com/egonelbre/spexs2/_benchmark
│ old │ new │
│ sec/op │ sec/op vs base │
Run/10k/1-128 21.58 ± 2% 19.68 ± 12% -8.84% (p=0.015 n=10)
Run/10k/16-128 4.539 ± 6% 4.063 ± 7% -10.48% (p=0.000 n=10)
geomean 9.898 8.941 -9.67%
```
Update #40724
Change-Id: I3c3c02e766e2f7402e385eddadbfe09361d82387
Reviewed-on: https://go-review.googlesource.com/c/go/+/719482
Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
s390x
This CL spill arg registers before calling morestack, unspill them
after morestack call. It also avoid clobbering the register that
could contain incoming argument values. Change registers on s390x to
avoid regABI arguments.
Update #40724
Change-Id: I67b20552410dd23ef0b86f14b9c5bfed9f9723a6
Reviewed-on: https://go-review.googlesource.com/c/go/+/719421
Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com>
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: David Chase <drchase@google.com>
|
|
This CL allow the CALL ops to take variable no of arguments.
Update #40724
Change-Id: Ibfa2e98c5051684cae69200c396dfa1edb2878e4
Reviewed-on: https://go-review.googlesource.com/c/go/+/719464
Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
This adds some initial support for spilling and reloading registers in
the new ABI for s390x
Update #40724
Change-Id: Icc46a9375454765dea7d03fc4c8f2dbcc87f5f50
Reviewed-on: https://go-review.googlesource.com/c/go/+/719463
Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
|
|
Update #40724
Change-Id: If8f2574259560b097db29347b2aecb098acef863
Reviewed-on: https://go-review.googlesource.com/c/go/+/719462
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com>
Reviewed-by: Keith Randall <khr@google.com>
|
|
This CL adds the s390x information to the ABI doc.
Update #40724
Cq-Include-Trybots: luci.golang.try:gotip-linux-s390x
Change-Id: I1b4b25ef1003e2ab011e1b808aeb1c02288095c2
Reviewed-on: https://go-review.googlesource.com/c/go/+/719460
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com>
TryBot-Bypass: David Chase <drchase@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
|
|
Merge List:
+ 2025-11-24 8dd5b13abc cmd/compile: relax stmtline_test on amd64
+ 2025-11-23 feae743bdb cmd/compile: use 32x32->64 multiplies on loong64
+ 2025-11-23 e88be8a128 runtime: fix stale comment for mheap/malloc
+ 2025-11-23 a318843a2a cmd/internal/obj/loong64: optimize duplicate optab entries
+ 2025-11-23 a18294bb6a cmd/internal/obj/arm64, image/gif, runtime, sort: use math/bits to calculate log2
+ 2025-11-23 437323ef7b slices: fix incorrect comment in slices.Insert function documentation
+ 2025-11-23 1993dca400 doc/next: pre-announce end of support for macOS 12 in Go 1.27
+ 2025-11-22 337f7b1f5d cmd/go: update default go directive in mod or work init
+ 2025-11-21 3c26aef8fb cmd/internal/obj/riscv: improve large branch/call/jump tests
+ 2025-11-21 31aa9f800b crypto/tls: use inner hello for earlyData when using QUIC and ECH
+ 2025-11-21 d68aec8db1 runtime: replace trace seqlock with write flag
+ 2025-11-21 8d9906cd34 runtime/trace: add Log benchmark
+ 2025-11-21 6aeacdff38 cmd/go: support sha1 repos when git default is sha256
+ 2025-11-21 9570036ca5 crypto/sha3: make the zero value of SHAKE useable
+ 2025-11-21 155efbbeeb crypto/sha3: make the zero value of SHA3 useable
+ 2025-11-21 6f16669e34 database/sql: don't ignore ColumnConverter for unknown input count
+ 2025-11-21 121bc3e464 runtime/pprof: remove hard-coded sleep in CPU profile reader
+ 2025-11-21 b604148c4e runtime: fix double wakeup in CPU profile buffer
+ 2025-11-21 22f24f90b5 cmd/compile: change testing.B.Loop keep alive semantic
+ 2025-11-21 cfb9d2eb73 net: remove unused linknames
+ 2025-11-21 65ef314f89 net/http: remove unused linknames
+ 2025-11-21 0f32fbc631 net/http: populate Response.Request when using NewFileTransport
+ 2025-11-21 3e0a8e7867 net/http: preserve original path encoding in redirects
+ 2025-11-21 831af61120 net/http: use HTTP 307 redirects in ServeMux
+ 2025-11-21 87269224cb net/http: update Response.Request.URL after redirects on GOOS=js
+ 2025-11-21 7aa9ca729f net/http/cookiejar: treat localhost as secure origin
+ 2025-11-21 f870a1d398 net/url: warn that JoinPath arguments should be escaped
+ 2025-11-21 9962d95fed crypto/internal/fips140/mldsa: unroll NTT and inverseNTT
+ 2025-11-21 f821fc46c5 crypto/internal/fisp140test: update acvptool, test data
+ 2025-11-21 b59efc38a0 crypto/internal/fips140/mldsa: new package
+ 2025-11-21 62741480b8 runtime: remove linkname for gopanic
+ 2025-11-21 7db2f0bb9a crypto/internal/hpke: separate KEM and PublicKey/PrivateKey interfaces
+ 2025-11-21 e15800c0ec crypto/internal/hpke: add ML-KEM and hybrid KEMs, and SHAKE KDFs
+ 2025-11-21 7c985a2df4 crypto/internal/hpke: modularize API and support more ciphersuites
+ 2025-11-21 e7d47ac33d cmd/compile: simplify negative on multiplication
+ 2025-11-21 35d2712b32 net/http: fix typo in Transport docs
+ 2025-11-21 90c970cd0f net: remove unnecessary loop variable copies in tests
+ 2025-11-21 9772d3a690 cmd/cgo: strip top-level const qualifier from argument frame struct
+ 2025-11-21 1903782ade errors: add examples for custom Is/As matching
+ 2025-11-21 ec92bc6d63 cmd/compile: rewrite Rsh to RshU if arguments are proved positive
+ 2025-11-21 3820f94c1d cmd/compile: propagate unsigned relations for Rsh if arguments are positive
+ 2025-11-21 d474f1fd21 cmd/compile: make dse track multiple shadowed ranges
+ 2025-11-21 d0d0a72980 cmd/compile/internal/ssa: correct type of ARM64 conditional instructions
+ 2025-11-21 a9704f89ea internal/runtime/gc/scan: add AVX512 impl of filterNil.
+ 2025-11-21 ccd389036a cmd/internal/objabi: remove -V=goexperiment internal special case
+ 2025-11-21 e7787b9eca runtime: go fmt
+ 2025-11-21 17b3b98796 internal/strconv: go fmt
+ 2025-11-21 c851827c68 internal/trace: go fmt
+ 2025-11-21 f87aaec53d cmd/compile: fix integer overflow in prove pass
+ 2025-11-21 dbd2ab9992 cmd/compile/internal: fix typos
+ 2025-11-21 b9d86baae3 cmd/compile/internal/devirtualize: fix typos
+ 2025-11-20 4b0e3cc1d6 cmd/link: support loading R_LARCH_PCREL20_S2 and R_LARCH_CALL36 relocs
+ 2025-11-20 cdba82c7d6 cmd/internal/obj/loong64: add {,X}VSLT.{B/H/W/V}{,U} instructions support
+ 2025-11-20 bd2b117c2c crypto/tls: add QUICErrorEvent
+ 2025-11-20 3ad2e113fc net/http/httputil: wrap ReverseProxy's outbound request body so Close is a noop
+ 2025-11-20 d58b733646 runtime: track goroutine location until actual STW
+ 2025-11-20 1bc54868d4 cmd/vendor: update to x/tools@68724af
+ 2025-11-20 8c3195973b runtime: disable stack allocation tests on sanitizers
+ 2025-11-20 ff654ea100 net/url: permit colons in the host of postgresql:// URLs
+ 2025-11-20 a662badab9 encoding/json: remove linknames
+ 2025-11-20 5afe237d65 mime: add missing path for mime types in godoc
+ 2025-11-20 c1b7112af8 os/signal: make NotifyContext cancel the context with a cause
Change-Id: Ib93ef643be610dfbdd83ff45095a7b1ca2537b8b
|
|
This reverts CL 719520.
Reason for revert: Naming is confusing. Also, this has a semantic merge
conflict with CL 722040. Let's revert, fix the naming and conflict, and
do it again.
Change-Id: I0dc0c7c58470d63d48a4f69adb38c18f95db0beb
Reviewed-on: https://go-review.googlesource.com/c/go/+/723220
Reviewed-by: Junyang Shao <shaojunyang@google.com>
TryBot-Bypass: David Chase <drchase@google.com>
|
|
This platform was already the strictest, we've hit the limit
several times in the last month or so and it interferes with
getting other stuff done. This allows 1.5% missing, 2% is
the default, so still strictest.
We do need to revisit the limit and line numbering, but other
work is also a priority.
Change-Id: Ib06f6a9bb39a38ff06bf0b6579bb4eeb0163ce96
Reviewed-on: https://go-review.googlesource.com/c/go/+/723740
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: David Chase <drchase@google.com>
|
|
Gets rid of some sign extensions, like arm64.
Change-Id: I9fc37e15a82718bfcf53db8cab0c4e7baaa0a747
Reviewed-on: https://go-review.googlesource.com/c/go/+/721522
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: abner chenc <chenguoqi@loongson.cn>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
Change-Id: I28b79d178a2ed3d304f0e61613439813c4dcf79e
Reviewed-on: https://go-review.googlesource.com/c/go/+/721600
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
|
|
log2
In several places the integer log2 is calculated using loops or similar
mechanisms. math/bits.Len* provide a simpler and more efficient
mechanisms for this.
Annoyingly, every usage has slightly different ideas of what "log2"
means and how non-positive inputs should be handled. I verified the
replacements in each case by comparing the result for inputs from 0
to 1<<16.
Change-Id: Ie962a74674802da363e0038d34c06979ccb41cf3
Reviewed-on: https://go-review.googlesource.com/c/go/+/721880
Reviewed-by: Mark Freeman <markfreeman@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
|
|
This commit updates the default go directive when initializing a new
module.
The current logic is to use the latest version supported by the
toolchain. This behavior is simple, predictable, and importantly, it
can work while completely offline (i.e., no internet connection
required).
This commit changes the default version to the following behavior:
* If the current toolchain version is a stable version of Go 1.N.M,
default to go 1.(N-1).0
* If the current toolchain version is a pre-release version of Go
1.N (Release Candidate M) or a development version of Go 1.N, default
to go 1.(N-2).0
This behavior maintains the property of being able to work offline.
Fixes #74748.
Change-Id: I81f62eef29f1dd51060067c8075f61e7bcf57c20
Reviewed-on: https://go-review.googlesource.com/c/go/+/720480
Commit-Queue: Ian Alexander <jitsu@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@google.com>
|
|
Rework these tests such that they are built on all architectures and
actually executed when run on riscv64. This increases the likelihood
of catching code generation issues, especially those that impact
relocations. Also ensure that the generated assembly includes the
instruction sequence that is expected for the large branch/call/jump.
Change-Id: I15c40a439dd1d0d4ed189ab81697e93d82c4ef4d
Reviewed-on: https://go-review.googlesource.com/c/go/+/721621
Reviewed-by: Mark Ryan <markdryan@rivosinc.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
|
|
When git is recent enough (beyond 2.29), always set the --object-format
flag.
This fixes repo cloning when users have set the git configuration
init.defaultObjectFormat to sha256.
Git is planning[1] to switch the default hash function to sha256 with
the 3.0 release sometime in late 2026. (that may slip, but it's still
worth being ahead of the curve)
This change moves the version-check function from cl/698835 into
codehost/git.go so we can use it to condition setting
--object-format=sha1.
Adjust the regexp parsing git version output to handle more cases.
[1]: https://lore.kernel.org/lkml/xmqqikikk1hr.fsf@gitster.g/T/#u
Updates #68359
Change-Id: I7d59eb4e116b8afb47d3d1ca068d75eb5047d5c7
Reviewed-on: https://go-review.googlesource.com/c/go/+/720500
Reviewed-by: Michael Matloob <matloob@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
|
|
This CL adds a new generator to internal/runtime/gc/scan that generates expander
kernels in Go SIMD. This CL also includes a Go SIMD scan kernel and a
Go SIMD filter kernel.
This CL also includes the plumbing, it will use the Go SIMD kernels if
goexperiment.simd is on.
Benchmark results:
...
ScanSpanPacked/cache=tiny/pages=1/sizeclass=26/pct=80-88 354.8n ± 1% 272.4n ± 0% -23.22% (p=0.002 n=6)
ScanSpanPacked/cache=tiny/pages=1/sizeclass=26/pct=90-88 375.7n ± 0% 287.1n ± 0% -23.58% (p=0.002 n=6)
ScanSpanPacked/cache=tiny/pages=1/sizeclass=26/pct=100-88 450.0n ± 1% 327.4n ± 0% -27.24% (p=0.002 n=6)
geomean 246.5n 199.4n -19.10%
Throughput +25%.
Change-Id: Ib85e01b7de18181db9e7b6026863209a993aa85f
Reviewed-on: https://go-review.googlesource.com/c/go/+/719520
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
|
|
This CL implements this initial design of testing.B.Loop's keep variable
alive semantic:
https://github.com/golang/go/issues/61515#issuecomment-2407963248.
Fixes #73137.
Change-Id: I8060470dbcb0dda0819334f3615cc391ff0f6501
Reviewed-on: https://go-review.googlesource.com/c/go/+/716660
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
|
|
goos: linux
goarch: amd64
pkg: cmd/compile/internal/test
cpu: AMD EPYC 7532 32-Core Processor
│ simplify_base │ simplify_new │
│ sec/op │ sec/op vs base │
SimplifyNegMul 623.0n ± 0% 319.3n ± 1% -48.75% (p=0.000 n=10)
goos: linux
goarch: riscv64
pkg: cmd/compile/internal/test
cpu: Spacemit(R) X60
│ simplify.base │ simplify.new │
│ sec/op │ sec/op vs base │
SimplifyNegMul 10.928µ ± 0% 6.432µ ± 0% -41.14% (p=0.000 n=10)
Change-Id: I1d9393cd19a0b948a5d3a512d627cdc0cf0b38be
Reviewed-on: https://go-review.googlesource.com/c/go/+/721520
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Auto-Submit: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
|
|
Otherwise we can't assign to it.
Fixes #75751
Change-Id: Iba680db672297bca1a1d1a33912b80863da66a08
Reviewed-on: https://go-review.googlesource.com/c/go/+/717342
Reviewed-by: David Chase <drchase@google.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Mark Freeman <markfreeman@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
Fixes #76332
Change-Id: I9044025d5dc599531c7f88ed2870bcf3d8b0acbd
Reviewed-on: https://go-review.googlesource.com/c/go/+/721206
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Jorropo <jorropo.pgm@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
|
|
Updates #76332
Change-Id: Ifaa4d12897138d88d56b9d4e530c53dcee70bd58
Reviewed-on: https://go-review.googlesource.com/c/go/+/721205
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Jorropo <jorropo.pgm@gmail.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Keith Randall <khr@google.com>
|
|
Track multiple shadowed ranges when doing DSE.
Elides zeroing for:
func nozero() (b [5]int64) {
b[0] = 1
b[1] = 7
b[3] = 1
b[4] = 1
b[2] = 0
return b
}
goes from:
v28 00003 (7) LEAQ main.b(SP), AX
v5 00004 (7) MOVUPS X15, (AX)
v5 00005 (7) MOVUPS X15, 16(AX)
v5 00006 (7) MOVUPS X15, 24(AX)
v11 00007 (8) MOVQ $1, main.b(SP)
v16 00008 (9) MOVQ $7, main.b+8(SP)
v20 00009 (10) MOVQ $1, main.b+24(SP)
v24 00010 (11) MOVQ $1, main.b+32(SP)
v29 00011 (12) MOVQ $0, main.b+16(SP)
b1 00012 (13) RET
00013 (?) END
to:
v11 00003 (8) MOVQ $1, main.b(SP)
v16 00004 (9) MOVQ $7, main.b+8(SP)
v20 00005 (10) MOVQ $1, main.b+24(SP)
v24 00006 (11) MOVQ $1, main.b+32(SP)
v29 00007 (12) MOVQ $0, main.b+16(SP)
b1 00008 (13) RET
00009 (?) END
regexp linux/amd64:
Find-16 89.17n ± ∞ ¹ 83.09n ± ∞ ¹ -6.82% (p=0.008 n=5)
FindAllNoMatches-16 46.23n ± ∞ ¹ 44.26n ± ∞ ¹ -4.26% (p=0.008 n=5)
FindString-16 89.77n ± ∞ ¹ 82.84n ± ∞ ¹ -7.72% (p=0.008 n=5)
FindSubmatch-16 108.9n ± ∞ ¹ 101.6n ± ∞ ¹ -6.70% (p=0.008 n=5)
FindStringSubmatch-16 103.10n ± ∞ ¹ 99.98n ± ∞ ¹ -3.03% (p=0.008 n=5)
Literal-16 29.61n ± ∞ ¹ 29.17n ± ∞ ¹ -1.49% (p=0.008 n=5)
NotLiteral-16 590.0n ± ∞ ¹ 566.0n ± ∞ ¹ -4.07% (p=0.008 n=5)
MatchClass-16 894.7n ± ∞ ¹ 814.0n ± ∞ ¹ -9.02% (p=0.008 n=5)
MatchClass_InRange-16 793.0n ± ∞ ¹ 756.3n ± ∞ ¹ -4.63% (p=0.008 n=5)
ReplaceAll-16 513.9n ± ∞ ¹ 503.6n ± ∞ ¹ -2.00% (p=0.008 n=5)
AnchoredLiteralShortNonMatch-16 21.70n ± ∞ ¹ 21.66n ± ∞ ¹ ~ (p=0.738 n=5)
AnchoredLiteralLongNonMatch-16 21.74n ± ∞ ¹ 21.65n ± ∞ ¹ ~ (p=0.286 n=5)
AnchoredShortMatch-16 37.71n ± ∞ ¹ 37.63n ± ∞ ¹ ~ (p=0.421 n=5)
AnchoredLongMatch-16 37.75n ± ∞ ¹ 37.70n ± ∞ ¹ ~ (p=0.286 n=5)
OnePassShortA-16 188.7n ± ∞ ¹ 185.7n ± ∞ ¹ -1.59% (p=0.008 n=5)
NotOnePassShortA-16 188.0n ± ∞ ¹ 190.7n ± ∞ ¹ +1.44% (p=0.008 n=5)
OnePassShortB-16 147.9n ± ∞ ¹ 154.2n ± ∞ ¹ +4.26% (p=0.008 n=5)
NotOnePassShortB-16 141.2n ± ∞ ¹ 144.1n ± ∞ ¹ +2.05% (p=0.008 n=5)
OnePassLongPrefix-16 40.43n ± ∞ ¹ 38.45n ± ∞ ¹ -4.90% (p=0.008 n=5)
OnePassLongNotPrefix-16 100.6n ± ∞ ¹ 102.5n ± ∞ ¹ +1.89% (p=0.008 n=5)
MatchParallelShared-16 9.666n ± ∞ ¹ 9.461n ± ∞ ¹ ~ (p=0.056 n=5)
MatchParallelCopied-16 9.530n ± ∞ ¹ 9.540n ± ∞ ¹ ~ (p=0.841 n=5)
QuoteMetaAll-16 28.60n ± ∞ ¹ 29.52n ± ∞ ¹ +3.22% (p=0.016 n=5)
QuoteMetaNone-16 16.73n ± ∞ ¹ 16.74n ± ∞ ¹ ~ (p=0.817 n=5)
Compile/Onepass-16 2.040µ ± ∞ ¹ 2.012µ ± ∞ ¹ ~ (p=0.381 n=5)
Compile/Medium-16 4.652µ ± ∞ ¹ 4.661µ ± ∞ ¹ ~ (p=0.341 n=5)
Compile/Hard-16 37.59µ ± ∞ ¹ 37.93µ ± ∞ ¹ ~ (p=0.222 n=5)
Match/Easy0/16-16 1.848n ± ∞ ¹ 1.847n ± ∞ ¹ -0.05% (p=0.048 n=5)
Match/Easy0/32-16 23.81n ± ∞ ¹ 24.16n ± ∞ ¹ +1.47% (p=0.008 n=5)
Match/Easy0/1K-16 143.2n ± ∞ ¹ 148.6n ± ∞ ¹ +3.77% (p=0.008 n=5)
Match/Easy0/32K-16 2.023µ ± ∞ ¹ 2.008µ ± ∞ ¹ -0.74% (p=0.024 n=5)
Match/Easy0/1M-16 135.3µ ± ∞ ¹ 136.8µ ± ∞ ¹ +1.10% (p=0.016 n=5)
Match/Easy0/32M-16 5.139m ± ∞ ¹ 5.123m ± ∞ ¹ -0.29% (p=0.008 n=5)
Match/Easy0i/16-16 1.848n ± ∞ ¹ 1.847n ± ∞ ¹ ~ (p=0.167 n=5)
Match/Easy0i/32-16 438.3n ± ∞ ¹ 421.9n ± ∞ ¹ -3.74% (p=0.008 n=5)
Match/Easy0i/1K-16 12.93µ ± ∞ ¹ 12.25µ ± ∞ ¹ -5.25% (p=0.008 n=5)
Match/Easy0i/32K-16 443.3µ ± ∞ ¹ 450.6µ ± ∞ ¹ +1.64% (p=0.008 n=5)
Match/Easy0i/1M-16 14.26m ± ∞ ¹ 14.44m ± ∞ ¹ ~ (p=0.222 n=5)
Match/Easy0i/32M-16 454.8m ± ∞ ¹ 459.0m ± ∞ ¹ ~ (p=0.056 n=5)
Match/Easy1/16-16 1.848n ± ∞ ¹ 1.847n ± ∞ ¹ ~ (p=0.206 n=5)
Match/Easy1/32-16 20.78n ± ∞ ¹ 20.95n ± ∞ ¹ ~ (p=0.841 n=5)
Match/Easy1/1K-16 292.0n ± ∞ ¹ 278.6n ± ∞ ¹ -4.59% (p=0.008 n=5)
Match/Easy1/32K-16 14.19µ ± ∞ ¹ 14.31µ ± ∞ ¹ +0.85% (p=0.008 n=5)
Match/Easy1/1M-16 513.3µ ± ∞ ¹ 517.0µ ± ∞ ¹ +0.72% (p=0.008 n=5)
Match/Easy1/32M-16 16.58m ± ∞ ¹ 16.69m ± ∞ ¹ +0.64% (p=0.008 n=5)
Match/Medium/16-16 1.849n ± ∞ ¹ 1.847n ± ∞ ¹ -0.11% (p=0.024 n=5)
Match/Medium/32-16 319.8n ± ∞ ¹ 312.1n ± ∞ ¹ -2.41% (p=0.008 n=5)
Match/Medium/1K-16 12.54µ ± ∞ ¹ 12.66µ ± ∞ ¹ +0.97% (p=0.008 n=5)
Match/Medium/32K-16 496.9µ ± ∞ ¹ 496.0µ ± ∞ ¹ ~ (p=0.056 n=5)
Match/Medium/1M-16 16.11m ± ∞ ¹ 16.00m ± ∞ ¹ -0.63% (p=0.032 n=5)
Match/Medium/32M-16 516.5m ± ∞ ¹ 513.1m ± ∞ ¹ -0.65% (p=0.032 n=5)
Match/Hard/16-16 1.848n ± ∞ ¹ 1.847n ± ∞ ¹ ~ (p=0.238 n=5)
Match/Hard/32-16 527.2n ± ∞ ¹ 508.4n ± ∞ ¹ -3.57% (p=0.008 n=5)
Match/Hard/1K-16 15.53µ ± ∞ ¹ 15.42µ ± ∞ ¹ -0.68% (p=0.008 n=5)
Match/Hard/32K-16 636.5µ ± ∞ ¹ 665.8µ ± ∞ ¹ +4.62% (p=0.008 n=5)
Match/Hard/1M-16 20.45m ± ∞ ¹ 21.13m ± ∞ ¹ +3.30% (p=0.008 n=5)
Match/Hard/32M-16 654.5m ± ∞ ¹ 671.9m ± ∞ ¹ +2.66% (p=0.008 n=5)
Match/Hard1/16-16 1.538µ ± ∞ ¹ 1.499µ ± ∞ ¹ -2.54% (p=0.008 n=5)
Match/Hard1/32-16 2.965µ ± ∞ ¹ 2.906µ ± ∞ ¹ -1.99% (p=0.008 n=5)
Match/Hard1/1K-16 91.28µ ± ∞ ¹ 90.09µ ± ∞ ¹ -1.29% (p=0.008 n=5)
Match/Hard1/32K-16 2.996m ± ∞ ¹ 3.311m ± ∞ ¹ +10.50% (p=0.008 n=5)
Match/Hard1/1M-16 95.77m ± ∞ ¹ 105.87m ± ∞ ¹ +10.54% (p=0.008 n=5)
Match/Hard1/32M-16 3.069 ± ∞ ¹ 3.399 ± ∞ ¹ +10.74% (p=0.008 n=5)
Match_onepass_regex/16-16 120.9n ± ∞ ¹ 117.4n ± ∞ ¹ -2.89% (p=0.008 n=5)
Match_onepass_regex/32-16 211.8n ± ∞ ¹ 207.5n ± ∞ ¹ -2.03% (p=0.008 n=5)
Match_onepass_regex/1K-16 5.602µ ± ∞ ¹ 5.548µ ± ∞ ¹ ~ (p=0.421 n=5)
Match_onepass_regex/32K-16 185.6µ ± ∞ ¹ 185.1µ ± ∞ ¹ ~ (p=0.690 n=5)
Match_onepass_regex/1M-16 5.896m ± ∞ ¹ 5.808m ± ∞ ¹ -1.50% (p=0.016 n=5)
Match_onepass_regex/32M-16 193.4m ± ∞ ¹ 185.5m ± ∞ ¹ -4.10% (p=0.008 n=5)
geomean 3.815µ 3.796µ -0.51%
compilecmp linux/amd64:
file before after Δ %
runtime.s 673118 672419 -699 -0.104%
runtime [cmd/compile].s 720475 719781 -694 -0.096%
math/rand/v2.s 9394 9371 -23 -0.245%
bytes.s 36026 35999 -27 -0.075%
vendor/golang.org/x/net/dns/dnsmessage.s 76433 76193 -240 -0.314%
math/rand/v2 [cmd/compile].s 9394 9371 -23 -0.245%
strings.s 43435 43414 -21 -0.048%
syscall.s 82215 82183 -32 -0.039%
html.s 6010 5949 -61 -1.015%
bytes [cmd/compile].s 36615 36588 -27 -0.074%
regexp/syntax.s 81442 81299 -143 -0.176%
syscall [cmd/compile].s 82215 82183 -32 -0.039%
time.s 90555 90507 -48 -0.053%
regexp.s 58974 58876 -98 -0.166%
reflect.s 176893 176829 -64 -0.036%
context.s 14298 14234 -64 -0.448%
plugin.s 3879 3847 -32 -0.825%
io/fs.s 29026 29009 -17 -0.059%
strings [cmd/compile].s 43446 43425 -21 -0.048%
html [cmd/compile].s 6010 5949 -61 -1.015%
time [cmd/compile].s 90555 90507 -48 -0.053%
os.s 116321 116249 -72 -0.062%
regexp/syntax [cmd/compile].s 81442 81299 -143 -0.176%
context [cmd/compile].s 14298 14234 -64 -0.448%
io/fs [cmd/compile].s 29026 29009 -17 -0.059%
path/filepath.s 19879 19842 -37 -0.186%
cmd/cgo/internal/cgotest.s 1965 1932 -33 -1.679%
reflect [cmd/compile].s 176893 176829 -64 -0.036%
regexp [cmd/compile].s 58974 58876 -98 -0.166%
crypto/cipher.s 21706 21660 -46 -0.212%
runtime/trace.s 14644 14634 -10 -0.068%
math/big.s 170782 170250 -532 -0.312%
debug/dwarf.s 105214 105141 -73 -0.069%
log.s 15749 15603 -146 -0.927%
encoding/json.s 118965 118933 -32 -0.027%
os/user.s 10367 10326 -41 -0.395%
crypto/dsa.s 4988 4974 -14 -0.281%
crypto/rsa.s 29486 29474 -12 -0.041%
database/sql.s 99574 99403 -171 -0.172%
encoding/gob.s 146507 146475 -32 -0.022%
debug/macho.s 29517 29421 -96 -0.325%
crypto/ed25519.s 8648 8594 -54 -0.624%
internal/goroot.s 3165 3107 -58 -1.833%
testing.s 123472 123438 -34 -0.028%
archive/tar.s 71179 71096 -83 -0.117%
go/doc/comment.s 48429 48397 -32 -0.066%
vendor/golang.org/x/crypto/cryptobyte.s 31717 31690 -27 -0.085%
internal/cgrouptest.s 4760 4686 -74 -1.555%
image/png.s 34484 34479 -5 -0.014%
go/constant.s 29502 29297 -205 -0.695%
internal/testenv.s 22396 22331 -65 -0.290%
internal/pkgbits.s 19609 19598 -11 -0.056%
testing/iotest.s 15070 15018 -52 -0.345%
internal/runtime/gc/internal/gen.s 50837 50548 -289 -0.568%
crypto/internal/cryptotest.s 58607 58229 -378 -0.645%
crypto/ecdsa.s 43878 43658 -220 -0.501%
cmd/internal/objabi.s 20244 20231 -13 -0.064%
math/big/internal/asmgen.s 74554 74422 -132 -0.177%
log/slog.s 81620 81617 -3 -0.004%
net.s 299158 299080 -78 -0.026%
cmd/vendor/golang.org/x/telemetry/internal/telemetry.s 4531 4472 -59 -1.302%
testing/fstest.s 73370 73286 -84 -0.114%
log/syslog.s 6457 6426 -31 -0.480%
vendor/golang.org/x/net/http/httpproxy.s 7674 7666 -8 -0.104%
cmd/vendor/golang.org/x/telemetry/internal/counter.s 31504 31493 -11 -0.035%
cmd/internal/pkgpath.s 4828 4810 -18 -0.373%
internal/trace.s 190495 190463 -32 -0.017%
cmd/internal/telemetry/counter.s 1999 1979 -20 -1.001%
net/mail.s 21912 21866 -46 -0.210%
mime/multipart.s 30856 30806 -50 -0.162%
internal/trace/internal/testgen.s 12870 12850 -20 -0.155%
go/parser.s 109753 109739 -14 -0.013%
crypto/x509.s 184334 183966 -368 -0.200%
cmd/internal/pgo.s 7886 7850 -36 -0.457%
cmd/internal/browser.s 1980 1962 -18 -0.909%
cmd/covdata.s 40197 40180 -17 -0.042%
internal/fuzz.s 90255 90234 -21 -0.023%
go/build.s 74975 74722 -253 -0.337%
cmd/distpack.s 29343 29056 -287 -0.978%
cmd/cover.s 53513 53412 -101 -0.189%
cmd/internal/obj.s 144804 144764 -40 -0.028%
os [cmd/compile].s 116325 116253 -72 -0.062%
cmd/cgo.s 217917 217878 -39 -0.018%
internal/exportdata.s 8849 8800 -49 -0.554%
cmd/dist.s 179720 179253 -467 -0.260%
cmd/compile/internal/syntax.s 174526 174495 -31 -0.018%
cmd/asm/internal/lex.s 21635 21628 -7 -0.032%
cmd/internal/obj/riscv.s 149150 149118 -32 -0.021%
path/filepath [cmd/compile].s 19879 19842 -37 -0.186%
cmd/internal/obj/wasm.s 83633 83569 -64 -0.077%
crypto/tls.s 405459 405103 -356 -0.088%
cmd/internal/obj/loong64.s 117422 117392 -30 -0.026%
log [cmd/compile].s 15798 15652 -146 -0.924%
crypto/cipher [cmd/compile].s 21706 21660 -46 -0.212%
go/types.s 592053 591930 -123 -0.021%
cmd/vendor/golang.org/x/telemetry/internal/telemetry [cmd/compile].s 4531 4472 -59 -1.302%
cmd/internal/objabi [cmd/compile].s 20244 20231 -13 -0.064%
encoding/json [cmd/compile].s 119184 119152 -32 -0.027%
go/internal/srcimporter.s 9957 9948 -9 -0.090%
internal/goroot [cmd/compile].s 3165 3107 -58 -1.833%
runtime/trace [cmd/compile].s 14703 14693 -10 -0.068%
go/internal/gccgoimporter.s 47218 47189 -29 -0.061%
cmd/vendor/golang.org/x/telemetry/internal/counter [cmd/compile].s 31563 31552 -11 -0.035%
go/doc/comment [cmd/compile].s 48488 48456 -32 -0.066%
cmd/compile/internal/base.s 44391 44379 -12 -0.027%
cmd/vendor/golang.org/x/tools/internal/analysis/analyzerutil.s 3957 3925 -32 -0.809%
math/big [cmd/compile].s 173023 172491 -532 -0.307%
cmd/asm.s 3824 3749 -75 -1.961%
cmd/vendor/golang.org/x/tools/internal/diff/lcs.s 22413 22289 -124 -0.553%
cmd/internal/telemetry/counter [cmd/compile].s 1999 1979 -20 -1.001%
cmd/vendor/golang.org/x/tools/go/analysis/passes/buildtag.s 8886 8877 -9 -0.101%
go/constant [cmd/compile].s 29673 29468 -205 -0.691%
cmd/internal/obj [cmd/compile].s 218137 218102 -35 -0.016%
cmd/internal/pgo [cmd/compile].s 7945 7909 -36 -0.453%
internal/pkgbits [cmd/compile].s 37142 37115 -27 -0.073%
go/parser [cmd/compile].s 109812 109798 -14 -0.013%
cmd/compile/internal/base [cmd/compile].s 44607 44595 -12 -0.027%
go/build [cmd/compile].s 75034 74781 -253 -0.337%
cmd/vendor/golang.org/x/tools/go/analysis/internal/analysisflags.s 10379 10338 -41 -0.395%
cmd/go/internal/lockedfile.s 15477 15473 -4 -0.026%
cmd/internal/obj/loong64 [cmd/compile].s 117481 117451 -30 -0.026%
cmd/internal/obj/wasm [cmd/compile].s 83677 83613 -64 -0.076%
cmd/internal/obj/riscv [cmd/compile].s 148985 148953 -32 -0.021%
cmd/vendor/golang.org/x/tools/internal/analysis/driverutil.s 31164 31100 -64 -0.205%
internal/exportdata [cmd/compile].s 8849 8800 -49 -0.554%
cmd/vendor/golang.org/x/mod/sumdb/dirhash.s 12387 12366 -21 -0.170%
cmd/vendor/golang.org/x/tools/internal/typesinternal.s 24320 24295 -25 -0.103%
cmd/go/internal/fsys.s 60108 60040 -68 -0.113%
net/http.s 603320 602752 -568 -0.094%
cmd/compile/internal/syntax [cmd/compile].s 187371 187340 -31 -0.017%
cmd/cgo/internal/test.s 219885 219826 -59 -0.027%
net/http/httptest.s 21757 21754 -3 -0.014%
cmd/compile/internal/types2.s 576035 575871 -164 -0.028%
net/http/cgi.s 36196 36146 -50 -0.138%
net/http/httputil.s 45557 45502 -55 -0.121%
cmd/compile/internal/objw.s 5710 5672 -38 -0.665%
net/http/pprof.s 32053 32011 -42 -0.131%
internal/trace/traceviewer.s 34748 34695 -53 -0.153%
net/rpc.s 44569 44361 -208 -0.467%
cmd/compile/internal/staticdata.s 21461 21446 -15 -0.070%
cmd/vendor/golang.org/x/telemetry/internal/crashmonitor.s 6104 6073 -31 -0.508%
cmd/go/internal/cfg.s 14419 14303 -116 -0.804%
cmd/vendor/golang.org/x/tools/go/analysis/passes/hostport.s 6834 6802 -32 -0.468%
cmd/vendor/golang.org/x/tools/go/types/objectpath.s 19228 19118 -110 -0.572%
cmd/go/internal/imports.s 15978 15970 -8 -0.050%
cmd/vendor/golang.org/x/tools/internal/facts.s 15249 15237 -12 -0.079%
cmd/vendor/golang.org/x/telemetry/internal/upload.s 34546 33957 -589 -1.705%
cmd/vendor/golang.org/x/mod/sumdb.s 28991 28941 -50 -0.172%
cmd/vendor/golang.org/x/telemetry.s 7555 7420 -135 -1.787%
cmd/gofmt.s 29924 29898 -26 -0.087%
cmd/go/internal/base.s 19950 19938 -12 -0.060%
cmd/vendor/golang.org/x/tools/internal/refactor/inline.s 161628 161596 -32 -0.020%
cmd/internal/script.s 89932 89811 -121 -0.135%
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.s 14865 14797 -68 -0.457%
cmd/vendor/golang.org/x/arch/riscv64/riscv64asm.s 62049 62017 -32 -0.052%
cmd/vendor/golang.org/x/mod/zip.s 39525 39428 -97 -0.245%
cmd/compile/internal/typecheck.s 170567 170522 -45 -0.026%
cmd/go/internal/cache.s 37546 37451 -95 -0.253%
cmd/go/internal/gover.s 6733 6726 -7 -0.104%
cmd/vendor/golang.org/x/arch/arm/armasm.s 30032 29991 -41 -0.137%
cmd/go/internal/auth.s 22485 22385 -100 -0.445%
cmd/go/internal/search.s 15362 15262 -100 -0.651%
cmd/vendor/golang.org/x/tools/go/analysis/passes/modernize.s 197385 196963 -422 -0.214%
cmd/go/internal/doc.s 62764 62590 -174 -0.277%
cmd/compile/internal/compare.s 10769 10758 -11 -0.102%
cmd/vendor/golang.org/x/arch/ppc64/ppc64asm.s 208027 208005 -22 -0.011%
cmd/compile/internal/escape.s 72599 72560 -39 -0.054%
cmd/go/internal/mvs.s 30363 30339 -24 -0.079%
cmd/go/internal/vcweb.s 51575 51334 -241 -0.467%
cmd/go/internal/modindex.s 80742 80444 -298 -0.369%
cmd/vendor/golang.org/x/arch/x86/x86asm.s 72057 72004 -53 -0.074%
cmd/compile/internal/objw [cmd/compile].s 7408 7345 -63 -0.850%
cmd/go/internal/vcs.s 51661 51545 -116 -0.225%
cmd/go/internal/modfetch/codehost.s 110786 110689 -97 -0.088%
cmd/nm.s 5055 4981 -74 -1.464%
cmd/pack.s 8826 8804 -22 -0.249%
cmd/compile/internal/types2 [cmd/compile].s 667403 667271 -132 -0.020%
cmd/internal/script/scripttest.s 40383 40149 -234 -0.579%
cmd/compile/internal/typecheck [cmd/compile].s 196101 196056 -45 -0.023%
cmd/preprofile.s 3127 3107 -20 -0.640%
cmd/compile/internal/staticdata [cmd/compile].s 31032 31017 -15 -0.048%
cmd/go/internal/modfetch.s 134544 134056 -488 -0.363%
cmd/vendor/golang.org/x/tools/go/analysis/passes/atomic.s 2433 2408 -25 -1.028%
cmd/vendor/github.com/google/pprof/profile.s 155233 155173 -60 -0.039%
cmd/vendor/golang.org/x/tools/go/analysis/passes/asmdecl.s 29779 29182 -597 -2.005%
cmd/link/internal/loader.s 91163 91116 -47 -0.052%
cmd/compile/internal/escape [cmd/compile].s 86596 86592 -4 -0.005%
cmd/go/internal/fips140.s 5054 5043 -11 -0.218%
cmd/vendor/github.com/google/pprof/internal/symbolz.s 4726 4674 -52 -1.100%
cmd/vendor/golang.org/x/tools/go/analysis/passes/framepointer.s 3703 3660 -43 -1.161%
cmd/vendor/golang.org/x/tools/go/analysis/passes/loopclosure.s 6869 6844 -25 -0.364%
cmd/vendor/golang.org/x/text/language.s 46461 46443 -18 -0.039%
cmd/vendor/golang.org/x/text/internal.s 2514 2502 -12 -0.477%
cmd/trace.s 259231 258558 -673 -0.260%
cmd/vendor/golang.org/x/tools/go/analysis/passes/ctrlflow.s 3996 3987 -9 -0.225%
cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine.s 9587 9555 -32 -0.334%
cmd/vendor/golang.org/x/text/cases.s 38482 38463 -19 -0.049%
cmd/vendor/golang.org/x/tools/go/analysis/passes/unsafeptr.s 3150 3124 -26 -0.825%
cmd/vendor/github.com/ianlancetaylor/demangle.s 302482 302444 -38 -0.013%
cmd/vendor/github.com/google/pprof/internal/report.s 90542 90448 -94 -0.104%
cmd/vendor/github.com/google/pprof/internal/binutils.s 37434 37280 -154 -0.411%
cmd/vendor/rsc.io/markdown.s 114203 114108 -95 -0.083%
cmd/go/internal/modload.s 359362 358159 -1203 -0.335%
cmd/vendor/golang.org/x/build/relnote.s 31599 31577 -22 -0.070%
cmd/vendor/github.com/google/pprof/internal/driver.s 178419 177787 -632 -0.354%
cmd/go/internal/load.s 186922 186634 -288 -0.154%
cmd/link/internal/ld.s 643871 643415 -456 -0.071%
cmd/link/internal/riscv64.s 19743 19726 -17 -0.086%
cmd/go/internal/work.s 348917 348463 -454 -0.130%
cmd/go/internal/clean.s 14815 14755 -60 -0.405%
cmd/go/internal/list.s 29662 29630 -32 -0.108%
cmd/go/internal/tool.s 27842 27825 -17 -0.061%
cmd/go/internal/envcmd.s 49896 49872 -24 -0.048%
cmd/go/internal/test.s 72162 72098 -64 -0.089%
cmd/go/internal/bug.s 10603 10547 -56 -0.528%
cmd/go/internal/toolchain.s 29042 28890 -152 -0.523%
cmd/go/internal/modcmd.s 61916 61761 -155 -0.250%
cmd/go/internal/modget.s 79559 79358 -201 -0.253%
cmd/go/internal/workcmd.s 28612 28481 -131 -0.458%
cmd/go.s 13367 13343 -24 -0.180%
cmd/compile/internal/ssa.s 3614387 3614418 +31 +0.001%
cmd/compile/internal/liveness.s 96901 96882 -19 -0.020%
cmd/compile/internal/ssa [cmd/compile].s 3779800 3779973 +173 +0.005%
cmd/compile/internal/liveness [cmd/compile].s 129898 129895 -3 -0.002%
cmd/compile/internal/ssagen.s 436780 436748 -32 -0.007%
cmd/compile/internal/ssagen [cmd/compile].s 473190 473109 -81 -0.017%
cmd/compile/internal/walk [cmd/compile].s 347940 347810 -130 -0.037%
cmd/compile/internal/walk.s 334528 334382 -146 -0.044%
cmd/compile/internal/noder.s 260365 260297 -68 -0.026%
cmd/compile/internal/noder [cmd/compile].s 296865 296819 -46 -0.015%
cmd/compile/internal/gc.s 30442 30346 -96 -0.315%
cmd/compile/internal/gc [cmd/compile].s 41682 41586 -96 -0.230%
total 38124617 38101256 -23361 -0.061%
Change-Id: Id0b3770da69c6f666b3ff36741f75377001466c0
Reviewed-on: https://go-review.googlesource.com/c/go/+/675335
Auto-Submit: Keith Randall <khr@golang.org>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
The CCMP, CCMN, CCMPconst, and related instructions in ARM64Ops.go
were incorrectly set to type "Flag". This non-existent type caused
compilation failures during the "lower" and "late lower" passes.
Change them to the correct type, "Flags".
Change-Id: I4fbf96b8c7b051be901711948028a717ce953e5e
Reviewed-on: https://go-review.googlesource.com/c/go/+/722780
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
|
|
This CL is to address some API audit discussion decisions.
Change-Id: Iaa206832c41852fec8fa25c23da12f65df736098
Reviewed-on: https://go-review.googlesource.com/c/go/+/721780
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
|
|
This special case was added in CL 310171 for test/run.go use, as the
comment still says, but run.go (cmd/internal/testdir/testdir_test.go
by now) stopped using this in CL 310732. There don't seem to be any
other internal or external uses of this special case, so delete it.
Doing this kind of a cleanup can become harder as more time passes,
so try it as early as now and see how it goes.
Change-Id: Ib52aac51ef05166f7349cfc7d63b860a8ece7ec0
Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest
Reviewed-on: https://go-review.googlesource.com/c/go/+/720620
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Matloob <matloob@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
Change-Id: Iff00fdb5cfc83c546ad564fa7618ec34d0352fdc
Reviewed-on: https://go-review.googlesource.com/c/go/+/722640
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: David Chase <drchase@google.com>
|
|
The detectSliceLenRelation function incorrectly deduced lower bounds
for "len(s) - i" without checking if the subtraction could overflow
(e.g. when i is negative). This led to incorrect elimination of
bounds checks.
Fixes: #76355
Change-Id: I30ada0e5f1425929ddd8ae1b66e55096ec209b5b
Reviewed-on: https://go-review.googlesource.com/c/go/+/721920
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Keith Randall <khr@google.com>
|
|
Change-Id: I5974f5b460f827877f49f69aff01ce5042f511c0
GitHub-Last-Rev: 552d12c0e609a65481381191be6bbd9f353120f5
GitHub-Pull-Request: golang/go#76398
Reviewed-on: https://go-review.googlesource.com/c/go/+/722900
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Auto-Submit: Robert Griesemer <gri@google.com>
Auto-Submit: Keith Randall <khr@golang.org>
|
|
Change-Id: I4f5a89f452a252018072d067da4cdb9a6cb0f4fe
GitHub-Last-Rev: 7eb108d3878109ccb9846d97b2adc7ea3003772a
GitHub-Pull-Request: golang/go#76396
Reviewed-on: https://go-review.googlesource.com/c/go/+/722860
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Robert Griesemer <gri@google.com>
|
|
Host libgcc.a (among other libraries) on loong64 systems may contain
such relocs if built with the "medium" code model and/or linker
relaxation, which is increasingly the case. Make the internal linker
aware of these for cgo interopability going forward.
While at it, fix some of the comments for the loong64-specific
RelocTypes.
Fixes #75562
Change-Id: I0810969dcd229c5131ef06b0f70f51d81a3be4cd
Reviewed-on: https://go-review.googlesource.com/c/go/+/709717
Reviewed-by: abner chenc <chenguoqi@loongson.cn>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
|
|
Also includes a comment cleanup pass.
Fixed NAME processing for additional documentation.
Change-Id: Ide5b60c17ddbf3c6eafd20147981c59493fc8133
Reviewed-on: https://go-review.googlesource.com/c/go/+/722180
Reviewed-by: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
This moves the packed-immediate methods to package-private,
and adds exported versions with four parameters.
Rename PermuteConstant to PermuteScalars
Rename VPSHUFB Permute to PermuteOrZero
Rename Permute2 to ConcatPermute
Comments were repaired/enhanced.
Modified the generator to support an additional tag
"hideMaskMethods : true" to suppress method, intrinsic,
generic, and generic translation generation for said
mask-modified versions of such methods (this is already
true for exported methods).
Change-Id: I91e208c1fff1f28ebce4edb4e73d26003715018c
Reviewed-on: https://go-review.googlesource.com/c/go/+/721342
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
|
|
Go asm syntax:
VSLT{B,H,W,V} V1, V2, V3
VSLT{B,H,W,V}U V1, V2, V3
VSLT{B,H,W,V} $-2, V2, V3
VSLT{B,H,W,V}U $8, V2, V3
XVSLT{B,H,W,V} X1, X2, X3
XVSLT{B,H,W,V}U X1, X2, X3
XVSLT{B,H,W,V} $-16, X2, X3
XVSLT{B,H,W,V}U $31, X2, X3
Equivalent platform assembler syntax:
vslt.{b,h,w,d} v3, v2, v1
vslt.{b,h,w,d}u v3, v2, v1
vslti.{b,h,w,d} v3, v2, $-2
vslti.{b,h,w,d}u v3, v2, $8
xvslt.{b,h,w,d} x3, x2, x1
xvslt.{b,h,w,d}u x3, x2, x1
xvslti.{b,h,w,d} x3, x2, $-16
xvslti.{b,h,w,d}u x3, x2, $31
Change-Id: Iccfb65c0c19b62d2c5ec279a077393c68e1bf7d4
Reviewed-on: https://go-review.googlesource.com/c/go/+/721620
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: sophie zhao <zhaoxiaolin@loongson.cn>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
This causes the go1.26 vet printf analyzer to deduce printf
wrappers via interface methods (#76368).
For #76368
Change-Id: I80e6d3b21bdffb5d925a162af7c4b21b1357bb89
Reviewed-on: https://go-review.googlesource.com/c/go/+/722540
Auto-Submit: Alan Donovan <adonovan@google.com>
Commit-Queue: Alan Donovan <adonovan@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
Conflicts:
- src/cmd/compile/internal/typecheck/builtin.go
Merge List:
+ 2025-11-20 ca37d24e0b net/http: drop unused "broken" field from persistConn
+ 2025-11-20 4b740af56a cmd/internal/obj/x86: handle global reference in From3 in dynlink mode
+ 2025-11-20 790384c6c2 spec: adjust rule for type parameter on RHS of alias declaration
+ 2025-11-20 a49b0302d0 net/http: correctly close fake net.Conns
+ 2025-11-20 32f5aadd2f cmd/compile: stack allocate backing stores during append
+ 2025-11-20 a18aff8057 runtime: select GC mark workers during start-the-world
+ 2025-11-20 829779f4fe runtime: split findRunnableGCWorker in two
+ 2025-11-20 ab59569099 go/version: use "custom" as an example of a version suffix
+ 2025-11-19 c4bb9653ba cmd/compile: Implement LoweredZeroLoop with LSX Instruction on loong64
+ 2025-11-19 7f2ae21fb4 cmd/internal/obj/loong64: add MULW.D.W[U] instructions
+ 2025-11-19 a2946f2385 crypto: add Encapsulator and Decapsulator interfaces
+ 2025-11-19 6b83bd7146 crypto/ecdh: add KeyExchanger interface
+ 2025-11-19 4fef9f8b55 go/types, types2: fix object path for grouped declaration statements
+ 2025-11-19 33529db142 spec: escape double-ampersands
+ 2025-11-19 dc42565a20 cmd/compile: fix control flow for unsigned divisions proof relations
+ 2025-11-19 e64023dcbf cmd/compile: cleanup useless if statement in prove
+ 2025-11-19 2239520d1c test: go fmt prove.go tests
+ 2025-11-19 489d3dafb7 math: switch s390x math.Pow to generic implementation
+ 2025-11-18 8c41a482f9 runtime: add dlog.hexdump
+ 2025-11-18 e912618bd2 runtime: add hexdumper
+ 2025-11-18 2cf9d4b62f Revert "net/http: do not discard body content when closing it within request handlers"
+ 2025-11-18 4d0658bb08 cmd/compile: prefer fixed registers for values
+ 2025-11-18 ba634ca5c7 cmd/compile: fold boolean NOT into branches
+ 2025-11-18 8806d53c10 cmd/link: align sections, not symbols after DWARF compress
+ 2025-11-18 c93766007d runtime: do not print recovered when double panic with the same value
+ 2025-11-18 9859b43643 cmd/asm,cmd/compile,cmd/internal/obj/riscv: use compressed instructions on riscv64
+ 2025-11-17 b9ef0633f6 cmd/internal/sys,internal/goarch,runtime: enable the use of compressed instructions on riscv64
+ 2025-11-17 a087dea869 debug/elf: sync new loong64 relocation types up to LoongArch ELF psABI v20250521
+ 2025-11-17 e1a12c781f cmd/compile: use 32x32->64 multiplies on arm64
+ 2025-11-17 6caab99026 runtime: relax TestMemoryLimit on darwin a bit more
+ 2025-11-17 eda2e8c683 runtime: clear frame pointer at thread entry points
+ 2025-11-17 6919858338 runtime: rename findrunnable references to findRunnable
+ 2025-11-17 8e734ec954 go/ast: fix BasicLit.End position for raw strings containing \r
+ 2025-11-17 592775ec7d crypto/mlkem: avoid a few unnecessary inverse NTT calls
+ 2025-11-17 590cf18daf crypto/mlkem/mlkemtest: add derandomized Encapsulate768/1024
+ 2025-11-17 c12c337099 cmd/compile: teach prove about subtract idioms
+ 2025-11-17 bc15963813 cmd/compile: clean up prove pass
+ 2025-11-17 1297fae708 go/token: add (*File).End method
+ 2025-11-17 65c09eafdf runtime: hoist invariant code out of heapBitsSmallForAddrInline
+ 2025-11-17 594129b80c internal/runtime/maps: update doc for table.Clear
+ 2025-11-15 c58d075e9a crypto/rsa: deprecate PKCS#1 v1.5 encryption
+ 2025-11-14 d55ecea9e5 runtime: usleep before stealing runnext only if not in syscall
+ 2025-11-14 410ef44f00 cmd: update x/tools to 59ff18c
+ 2025-11-14 50128a2154 runtime: support runtime.freegc in size-specialized mallocs for noscan objects
+ 2025-11-14 c3708350a4 cmd/go: tests: rename git-min-vers->git-sha256
+ 2025-11-14 aea881230d std: fix printf("%q", int) mistakes
+ 2025-11-14 120f1874ef runtime: add more precise test of assist credit handling for runtime.freegc
+ 2025-11-14 fecfcaa4f6 runtime: add runtime.freegc to reduce GC work
+ 2025-11-14 5a347b775e runtime: set GOEXPERIMENT=runtimefreegc to disabled by default
+ 2025-11-14 1a03d0db3f runtime: skip tests for GOEXPERIMENT=arenas that do not handle clobberfree=1
+ 2025-11-14 cb0d9980f5 net/http: do not discard body content when closing it within request handlers
+ 2025-11-14 03ed43988f cmd/compile: allow multi-field structs to be stored directly in interfaces
+ 2025-11-14 1bb1f2bf0c runtime: put AddCleanup cleanup arguments in their own allocation
+ 2025-11-14 9fd2e44439 runtime: add AddCleanup benchmark
+ 2025-11-14 80c91eedbb runtime: ensure weak handles end up in their own allocation
+ 2025-11-14 7a8d0b5d53 runtime: add debug mode to extend _Grunning-without-P windows
+ 2025-11-14 710abf74da internal/runtime/cgobench: add Go function call benchmark for comparison
+ 2025-11-14 b24aec598b doc, cmd/internal/obj/riscv: document the riscv64 assembler
+ 2025-11-14 a0e738c657 cmd/compile/internal: remove incorrect riscv64 SLTI rule
+ 2025-11-14 2cdcc4150b cmd/compile: fold negation into multiplication
+ 2025-11-14 b57962b7c7 bytes: fix panic in bytes.Buffer.Peek
+ 2025-11-14 0a569528ea cmd/compile: optimize comparisons with single bit difference
+ 2025-11-14 1e5e6663e9 cmd/compile: remove unnecessary casts and types from riscv64 rules
+ 2025-11-14 ddd8558e61 go/types, types2: swap object.color for Checker.objPathIdx
+ 2025-11-14 9daaab305c cmd/link/internal/ld: make runtime.buildVersion with experiments valid
+ 2025-11-13 d50a571ddf test: fix tests to work with sizespecializedmalloc turned off
+ 2025-11-13 704f841eab cmd/trace: annotation proc start/stop with thread and proc always
+ 2025-11-13 17a02b9106 net/http: remove unused isLitOrSingle and isNotToken
+ 2025-11-13 ff61991aed cmd/go: fix flaky TestScript/mod_get_direct
+ 2025-11-13 129d0cb543 net/http/cgi: accept INCLUDED as protocol for server side includes
+ 2025-11-13 77c5130100 go/types: minor simplification
+ 2025-11-13 7601cd3880 go/types: generate cycles.go
+ 2025-11-13 7a372affd9 go/types, types2: rename definedType to declaredType and clarify docs
Change-Id: Ibaa9bdb982364892f80e511c1bb12661fcd5fb86
|
|
In dynlink mode, we rewrite reference to a global variable to
a load from the GOT. Currently this code does not handle the case
that the global reference is in From3 of a Prog. Most instructions
don't expect a memory operand in From3, but some do, like
VGF2P8AFFINEQB. Handle this case.
Change-Id: Ibb6773606e6967bcc629d9ef5dac6e050f4008ef
Reviewed-on: https://go-review.googlesource.com/c/go/+/722181
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
|
|
Per discussion on issue #75885, a type parameter on the RHS of an alias
declaration must not be declared in the same declaration (but it may be
declared by an enclosing function). This relaxes the spec slightly and
allows for (pre-existing) test cases.
Add a corresponding check to the type checker (there was no check for
type parameters on the RHS of alias declarations at all, before).
Fixes #75884.
Fixes #75885.
Change-Id: I1e5675978e6423d626c068829d4bf5e90035ea82
Reviewed-on: https://go-review.googlesource.com/c/go/+/721820
Auto-Submit: Robert Griesemer <gri@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
We can already stack allocate the backing store during append if the
resulting backing store doesn't escape. See CL 664299.
This CL enables us to often stack allocate the backing store during
append *even if* the result escapes. Typically, for code like:
func f(n int) []int {
var r []int
for i := range n {
r = append(r, i)
}
return r
}
the backing store for r escapes, but only by returning it.
Could we operate with r on the stack for most of its lifeime,
and only move it to the heap at the return point?
The current implementation of append will need to do an allocation
each time it calls growslice. This will happen on the 1st, 2nd, 4th,
8th, etc. append calls. The allocations done by all but the
last growslice call will then immediately be garbage.
We'd like to avoid doing some of those intermediate allocations
if possible. We rewrite the above code by introducing a move2heap
operation:
func f(n int) []int {
var r []int
for i := range n {
r = append(r, i)
}
r = move2heap(r)
return r
}
Using the move2heap runtime function, which does:
move2heap(r):
If r is already backed by heap storage, return r.
Otherwise, copy r to the heap and return the copy.
Now we can treat the backing store of r allocated at the
append site as not escaping. Previous stack allocation
optimizations now apply, which can use a fixed-size
stack-allocated backing store for r when appending.
See the description in cmd/compile/internal/slice/slice.go
for how we ensure that this optimization is safe.
Change-Id: I81f36e58bade2241d07f67967d8d547fff5302b8
Reviewed-on: https://go-review.googlesource.com/c/go/+/707755
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
|
goos: linux
goarch: loong64
pkg: runtime
cpu: Loongson-3A6000 @ 2500.00MHz
| old.txt | new.txt |
| sec/op | sec/op vs base |
ClearFat256 6.406n ± 0% 3.329n ± 1% -48.03% (p=0.000 n=10)
ClearFat512 12.810n ± 0% 7.607n ± 0% -40.62% (p=0.000 n=10)
ClearFat1024 25.62n ± 0% 14.01n ± 0% -45.32% (p=0.000 n=10)
ClearFat1032 26.02n ± 0% 14.28n ± 0% -45.14% (p=0.000 n=10)
ClearFat1040 26.02n ± 0% 14.41n ± 0% -44.62% (p=0.000 n=10)
MemclrKnownSize192 4.804n ± 0% 2.827n ± 0% -41.15% (p=0.000 n=10)
MemclrKnownSize248 6.561n ± 0% 4.371n ± 0% -33.38% (p=0.000 n=10)
MemclrKnownSize256 6.406n ± 0% 3.335n ± 0% -47.94% (p=0.000 n=10)
geomean 11.41n 6.453n -43.45%
goos: linux
goarch: loong64
pkg: runtime
cpu: Loongson-3C5000 @ 2200.00MHz
| old.txt | new.txt |
| sec/op | sec/op vs base |
ClearFat256 14.570n ± 0% 7.284n ± 0% -50.01% (p=0.000 n=10)
ClearFat512 29.13n ± 0% 14.57n ± 0% -49.98% (p=0.000 n=10)
ClearFat1024 58.26n ± 0% 29.15n ± 0% -49.97% (p=0.000 n=10)
ClearFat1032 58.73n ± 0% 29.15n ± 0% -50.36% (p=0.000 n=10)
ClearFat1040 59.18n ± 0% 29.26n ± 0% -50.56% (p=0.000 n=10)
MemclrKnownSize192 10.930n ± 0% 5.466n ± 0% -49.99% (p=0.000 n=10)
MemclrKnownSize248 14.110n ± 0% 6.772n ± 0% -52.01% (p=0.000 n=10)
MemclrKnownSize256 14.570n ± 0% 7.285n ± 0% -50.00% (p=0.000 n=10)
geomean 25.75n 12.78n -50.36%
Change-Id: I88d7b6ae2f6fc3f095979f24fb83ff42a9d2d42e
Reviewed-on: https://go-review.googlesource.com/c/go/+/720940
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Mark Freeman <markfreeman@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: sophie zhao <zhaoxiaolin@loongson.cn>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
|
|
Go asm syntax:
MULWVW RK, RJ, RD
MULWVWU RK, RJ, RD
Equivalent platform assembler syntax:
mulw.d.w rd, rj, rk
mulw.d.wu rd, rj, rk
Change-Id: Ie46a21904a4c25d04200b0663f83072c38a76c6f
Reviewed-on: https://go-review.googlesource.com/c/go/+/721521
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Keith Randall <khr@google.com>
|