aboutsummaryrefslogtreecommitdiff
path: root/src/internal
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2025-11-20 14:40:43 -0500
committerCherry Mui <cherryyz@google.com>2025-11-20 14:40:43 -0500
commite3d4645693bc030b9ff9b867f1d374a1d72ef2fe (patch)
tree5d9c6783b4b1901e072ed253acc6ecdd909b23bc /src/internal
parent95b4ad525fc8d70c881960ab9f75f31548023bed (diff)
parentca37d24e0b9369b8086959df5bc230b38bf98636 (diff)
downloadgo-e3d4645693bc030b9ff9b867f1d374a1d72ef2fe.tar.xz
[dev.simd] all: merge master (ca37d24) into dev.simd
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
Diffstat (limited to 'src/internal')
-rw-r--r--src/internal/abi/type.go4
-rw-r--r--src/internal/buildcfg/exp.go1
-rw-r--r--src/internal/goarch/goarch_riscv64.go2
-rw-r--r--src/internal/goexperiment/exp_runtimefree_off.go8
-rw-r--r--src/internal/goexperiment/exp_runtimefree_on.go8
-rw-r--r--src/internal/goexperiment/exp_runtimefreegc_off.go8
-rw-r--r--src/internal/goexperiment/exp_runtimefreegc_on.go8
-rw-r--r--src/internal/goexperiment/flags.go4
-rw-r--r--src/internal/pkgbits/pkgbits_test.go2
-rw-r--r--src/internal/runtime/cgobench/bench_test.go22
-rw-r--r--src/internal/runtime/cgobench/funcs.go8
-rw-r--r--src/internal/runtime/maps/table.go2
-rw-r--r--src/internal/trace/traceviewer/format/format.go5
-rw-r--r--src/internal/types/testdata/fixedbugs/issue75885.go15
-rw-r--r--src/internal/types/testdata/fixedbugs/issue76366.go12
15 files changed, 77 insertions, 32 deletions
diff --git a/src/internal/abi/type.go b/src/internal/abi/type.go
index 7f44a9de56..243b787cfc 100644
--- a/src/internal/abi/type.go
+++ b/src/internal/abi/type.go
@@ -121,8 +121,8 @@ const (
TFlagGCMaskOnDemand TFlag = 1 << 4
// TFlagDirectIface means that a value of this type is stored directly
- // in the data field of an interface, instead of indirectly. Normally
- // this means the type is pointer-ish.
+ // in the data field of an interface, instead of indirectly.
+ // This flag is just a cached computation of Size_ == PtrBytes == goarch.PtrSize.
TFlagDirectIface TFlag = 1 << 5
// Leaving this breadcrumb behind for dlv. It should not be used, and no
diff --git a/src/internal/buildcfg/exp.go b/src/internal/buildcfg/exp.go
index 9dcac00881..da6aac9147 100644
--- a/src/internal/buildcfg/exp.go
+++ b/src/internal/buildcfg/exp.go
@@ -84,7 +84,6 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (*ExperimentFlags, error) {
SIMD: goarch == "amd64", // TODO remove this (default to false) when dev.simd is merged
Dwarf5: dwarf5Supported,
RandomizedHeapBase64: true,
- RuntimeFree: true,
SizeSpecializedMalloc: true,
GreenTeaGC: true,
}
diff --git a/src/internal/goarch/goarch_riscv64.go b/src/internal/goarch/goarch_riscv64.go
index 3b6da1e02f..468f9a6374 100644
--- a/src/internal/goarch/goarch_riscv64.go
+++ b/src/internal/goarch/goarch_riscv64.go
@@ -7,7 +7,7 @@ package goarch
const (
_ArchFamily = RISCV64
_DefaultPhysPageSize = 4096
- _PCQuantum = 4
+ _PCQuantum = 2
_MinFrameSize = 8
_StackAlign = PtrSize
)
diff --git a/src/internal/goexperiment/exp_runtimefree_off.go b/src/internal/goexperiment/exp_runtimefree_off.go
deleted file mode 100644
index 3affe434f2..0000000000
--- a/src/internal/goexperiment/exp_runtimefree_off.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by mkconsts.go. DO NOT EDIT.
-
-//go:build !goexperiment.runtimefree
-
-package goexperiment
-
-const RuntimeFree = false
-const RuntimeFreeInt = 0
diff --git a/src/internal/goexperiment/exp_runtimefree_on.go b/src/internal/goexperiment/exp_runtimefree_on.go
deleted file mode 100644
index 176278b542..0000000000
--- a/src/internal/goexperiment/exp_runtimefree_on.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by mkconsts.go. DO NOT EDIT.
-
-//go:build goexperiment.runtimefree
-
-package goexperiment
-
-const RuntimeFree = true
-const RuntimeFreeInt = 1
diff --git a/src/internal/goexperiment/exp_runtimefreegc_off.go b/src/internal/goexperiment/exp_runtimefreegc_off.go
new file mode 100644
index 0000000000..195f031b0b
--- /dev/null
+++ b/src/internal/goexperiment/exp_runtimefreegc_off.go
@@ -0,0 +1,8 @@
+// Code generated by mkconsts.go. DO NOT EDIT.
+
+//go:build !goexperiment.runtimefreegc
+
+package goexperiment
+
+const RuntimeFreegc = false
+const RuntimeFreegcInt = 0
diff --git a/src/internal/goexperiment/exp_runtimefreegc_on.go b/src/internal/goexperiment/exp_runtimefreegc_on.go
new file mode 100644
index 0000000000..2afe0558ec
--- /dev/null
+++ b/src/internal/goexperiment/exp_runtimefreegc_on.go
@@ -0,0 +1,8 @@
+// Code generated by mkconsts.go. DO NOT EDIT.
+
+//go:build goexperiment.runtimefreegc
+
+package goexperiment
+
+const RuntimeFreegc = true
+const RuntimeFreegcInt = 1
diff --git a/src/internal/goexperiment/flags.go b/src/internal/goexperiment/flags.go
index da6a6b53ad..2e14d4298a 100644
--- a/src/internal/goexperiment/flags.go
+++ b/src/internal/goexperiment/flags.go
@@ -113,8 +113,8 @@ type Flags struct {
// platforms.
RandomizedHeapBase64 bool
- // RuntimeFree enables the runtime to free and reuse memory more eagerly in some circumstances with compiler help.
- RuntimeFree bool
+ // RuntimeFreegc enables the runtime to free and reuse memory more eagerly in some circumstances with compiler help.
+ RuntimeFreegc bool
// SizeSpecializedMalloc enables malloc implementations that are specialized per size class.
SizeSpecializedMalloc bool
diff --git a/src/internal/pkgbits/pkgbits_test.go b/src/internal/pkgbits/pkgbits_test.go
index a4755bd35a..f67267189f 100644
--- a/src/internal/pkgbits/pkgbits_test.go
+++ b/src/internal/pkgbits/pkgbits_test.go
@@ -28,7 +28,7 @@ func TestRoundTrip(t *testing.T) {
r := pr.NewDecoder(pkgbits.SectionMeta, pkgbits.PublicRootIdx, pkgbits.SyncPublic)
if r.Version() != w.Version() {
- t.Errorf("Expected reader version %q to be the writer version %q", r.Version(), w.Version())
+ t.Errorf("Expected reader version %d to be the writer version %d", r.Version(), w.Version())
}
}
}
diff --git a/src/internal/runtime/cgobench/bench_test.go b/src/internal/runtime/cgobench/bench_test.go
index 3b8f9a8ca3..0348ee0f41 100644
--- a/src/internal/runtime/cgobench/bench_test.go
+++ b/src/internal/runtime/cgobench/bench_test.go
@@ -11,13 +11,13 @@ import (
"testing"
)
-func BenchmarkCgoCall(b *testing.B) {
+func BenchmarkCall(b *testing.B) {
for b.Loop() {
cgobench.Empty()
}
}
-func BenchmarkCgoCallParallel(b *testing.B) {
+func BenchmarkCallParallel(b *testing.B) {
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
cgobench.Empty()
@@ -25,16 +25,30 @@ func BenchmarkCgoCallParallel(b *testing.B) {
})
}
+func BenchmarkCgoCall(b *testing.B) {
+ for b.Loop() {
+ cgobench.EmptyC()
+ }
+}
+
+func BenchmarkCgoCallParallel(b *testing.B) {
+ b.RunParallel(func(pb *testing.PB) {
+ for pb.Next() {
+ cgobench.EmptyC()
+ }
+ })
+}
+
func BenchmarkCgoCallWithCallback(b *testing.B) {
for b.Loop() {
- cgobench.Callback()
+ cgobench.CallbackC()
}
}
func BenchmarkCgoCallParallelWithCallback(b *testing.B) {
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
- cgobench.Callback()
+ cgobench.CallbackC()
}
})
}
diff --git a/src/internal/runtime/cgobench/funcs.go b/src/internal/runtime/cgobench/funcs.go
index 91efa51278..b60f6f58fd 100644
--- a/src/internal/runtime/cgobench/funcs.go
+++ b/src/internal/runtime/cgobench/funcs.go
@@ -19,14 +19,18 @@ static void callback() {
*/
import "C"
-func Empty() {
+func EmptyC() {
C.empty()
}
-func Callback() {
+func CallbackC() {
C.callback()
}
//export go_empty_callback
func go_empty_callback() {
}
+
+//go:noinline
+func Empty() {
+}
diff --git a/src/internal/runtime/maps/table.go b/src/internal/runtime/maps/table.go
index fbce099655..8a1932e453 100644
--- a/src/internal/runtime/maps/table.go
+++ b/src/internal/runtime/maps/table.go
@@ -596,7 +596,7 @@ func (t *table) tombstones() uint16 {
return (t.capacity*maxAvgGroupLoad)/abi.MapGroupSlots - t.used - t.growthLeft
}
-// Clear deletes all entries from the map resulting in an empty map.
+// Clear deletes all entries from the table resulting in an empty table.
func (t *table) Clear(typ *abi.MapType) {
mgl := t.maxGrowthLeft()
if t.used == 0 && t.growthLeft == mgl { // no current entries and no tombstones
diff --git a/src/internal/trace/traceviewer/format/format.go b/src/internal/trace/traceviewer/format/format.go
index 83f3276704..2ec4dd4bdc 100644
--- a/src/internal/trace/traceviewer/format/format.go
+++ b/src/internal/trace/traceviewer/format/format.go
@@ -74,6 +74,7 @@ type ThreadCountersArg struct {
InSyscall int64
}
-type ThreadIDArg struct {
- ThreadID uint64
+type SchedCtxArg struct {
+ ThreadID uint64 `json:"thread,omitempty"`
+ ProcID uint64 `json:"proc,omitempty"`
}
diff --git a/src/internal/types/testdata/fixedbugs/issue75885.go b/src/internal/types/testdata/fixedbugs/issue75885.go
new file mode 100644
index 0000000000..f0cf4a65ed
--- /dev/null
+++ b/src/internal/types/testdata/fixedbugs/issue75885.go
@@ -0,0 +1,15 @@
+// -gotypesalias=1
+
+// Copyright 2025 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package p
+
+type A[P any] = P // ERROR "cannot use type parameter declared in alias declaration as RHS"
+
+func _[P any]() {
+ type A[P any] = P // ERROR "cannot use type parameter declared in alias declaration as RHS"
+ type B = P
+ type C[Q any] = P
+}
diff --git a/src/internal/types/testdata/fixedbugs/issue76366.go b/src/internal/types/testdata/fixedbugs/issue76366.go
new file mode 100644
index 0000000000..b78aa4463f
--- /dev/null
+++ b/src/internal/types/testdata/fixedbugs/issue76366.go
@@ -0,0 +1,12 @@
+// Copyright 2025 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package p
+
+func _() {
+ type (
+ A = int
+ B = []A
+ )
+}