aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/internal/buildcfg/cfg.go26
-rw-r--r--src/internal/chacha8rand/chacha8.go1
-rw-r--r--src/maps/maps.go1
-rw-r--r--src/net/dnsclient.go1
-rw-r--r--src/runtime/mgc.go2
-rw-r--r--src/runtime/rand.go6
-rw-r--r--src/runtime/rwmutex.go16
-rw-r--r--src/sync/pool.go1
8 files changed, 32 insertions, 22 deletions
diff --git a/src/internal/buildcfg/cfg.go b/src/internal/buildcfg/cfg.go
index ac731f0e99..61810f1348 100644
--- a/src/internal/buildcfg/cfg.go
+++ b/src/internal/buildcfg/cfg.go
@@ -20,20 +20,20 @@ import (
)
var (
- GOROOT = os.Getenv("GOROOT") // cached for efficiency
- GOARCH = envOr("GOARCH", defaultGOARCH)
- GOOS = envOr("GOOS", defaultGOOS)
- GO386 = envOr("GO386", defaultGO386)
- GOAMD64 = goamd64()
- GOARM = goarm()
- GOMIPS = gomips()
- GOMIPS64 = gomips64()
- GOPPC64 = goppc64()
+ GOROOT = os.Getenv("GOROOT") // cached for efficiency
+ GOARCH = envOr("GOARCH", defaultGOARCH)
+ GOOS = envOr("GOOS", defaultGOOS)
+ GO386 = envOr("GO386", defaultGO386)
+ GOAMD64 = goamd64()
+ GOARM = goarm()
+ GOMIPS = gomips()
+ GOMIPS64 = gomips64()
+ GOPPC64 = goppc64()
GORISCV64 = goriscv64()
- GOWASM = gowasm()
- ToolTags = toolTags()
- GO_LDSO = defaultGO_LDSO
- Version = version
+ GOWASM = gowasm()
+ ToolTags = toolTags()
+ GO_LDSO = defaultGO_LDSO
+ Version = version
)
// Error is one of the errors found (if any) in the build configuration.
diff --git a/src/internal/chacha8rand/chacha8.go b/src/internal/chacha8rand/chacha8.go
index ce55c07d05..0e601c23ac 100644
--- a/src/internal/chacha8rand/chacha8.go
+++ b/src/internal/chacha8rand/chacha8.go
@@ -37,6 +37,7 @@ type State struct {
//
// Next is //go:nosplit to allow its use in the runtime
// with per-m data without holding the per-m lock.
+//
//go:nosplit
func (s *State) Next() (uint64, bool) {
i := s.i
diff --git a/src/maps/maps.go b/src/maps/maps.go
index 82b348c2f3..c92106710d 100644
--- a/src/maps/maps.go
+++ b/src/maps/maps.go
@@ -38,6 +38,7 @@ func EqualFunc[M1 ~map[K]V1, M2 ~map[K]V2, K comparable, V1, V2 any](m1 M1, m2 M
}
// clone is implemented in the runtime package.
+//
//go:linkname clone maps.clone
func clone(m any) any
diff --git a/src/net/dnsclient.go b/src/net/dnsclient.go
index 204620b2ed..2b4cb4f3ba 100644
--- a/src/net/dnsclient.go
+++ b/src/net/dnsclient.go
@@ -14,6 +14,7 @@ import (
)
// provided by runtime
+//
//go:linkname runtime_rand runtime.rand
func runtime_rand() uint64
diff --git a/src/runtime/mgc.go b/src/runtime/mgc.go
index b6c241f141..64fc0a688c 100644
--- a/src/runtime/mgc.go
+++ b/src/runtime/mgc.go
@@ -378,7 +378,7 @@ type workType struct {
// markDoneSema protects transitions from mark to mark termination.
markDoneSema uint32
- bgMarkDone uint32 // cas to 1 when at a background mark completion point
+ bgMarkDone uint32 // cas to 1 when at a background mark completion point
// Background mark completion signaling
// mode is the concurrency mode of the current GC cycle.
diff --git a/src/runtime/rand.go b/src/runtime/rand.go
index 10cd116fad..62577dda91 100644
--- a/src/runtime/rand.go
+++ b/src/runtime/rand.go
@@ -115,6 +115,7 @@ func bootstrapRandReseed() {
}
// rand32 is uint32(rand()), called from compiler-generated code.
+//
//go:nosplit
func rand32() uint32 {
return uint32(rand())
@@ -122,6 +123,7 @@ func rand32() uint32 {
// rand returns a random uint64 from the per-m chacha8 state.
// Do not change signature: used via linkname from other packages.
+//
//go:nosplit
//go:linkname rand
func rand() uint64 {
@@ -159,6 +161,7 @@ func mrandinit(mp *m) {
// randn is like rand() % n but faster.
// Do not change signature: used via linkname from other packages.
+//
//go:nosplit
//go:linkname randn
func randn(n uint32) uint32 {
@@ -174,6 +177,7 @@ func randn(n uint32) uint32 {
// cheaprand must not be exported to other packages:
// the rule is that other packages using runtime-provided
// randomness must always use rand.
+//
//go:nosplit
func cheaprand() uint32 {
mp := getg().m
@@ -208,6 +212,7 @@ func cheaprand() uint32 {
// cheaprand64 must not be exported to other packages:
// the rule is that other packages using runtime-provided
// randomness must always use rand.
+//
//go:nosplit
func cheaprand64() int64 {
return int64(cheaprand())<<31 ^ int64(cheaprand())
@@ -218,6 +223,7 @@ func cheaprand64() int64 {
// cheaprandn must not be exported to other packages:
// the rule is that other packages using runtime-provided
// randomness must always use randn.
+//
//go:nosplit
func cheaprandn(n uint32) uint32 {
// See https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/
diff --git a/src/runtime/rwmutex.go b/src/runtime/rwmutex.go
index 34d8f675c1..bf3b9a1cae 100644
--- a/src/runtime/rwmutex.go
+++ b/src/runtime/rwmutex.go
@@ -26,7 +26,7 @@ type rwmutex struct {
readerCount atomic.Int32 // number of pending readers
readerWait atomic.Int32 // number of departing readers
- readRank lockRank // semantic lock rank for read locking
+ readRank lockRank // semantic lock rank for read locking
}
// Lock ranking an rwmutex has two aspects:
@@ -50,13 +50,13 @@ type rwmutex struct {
// acquire of readRank for the duration of a read lock.
//
// The lock ranking must document this ordering:
-// - readRankInternal is a leaf lock.
-// - readRank is taken before readRankInternal.
-// - writeRank is taken before readRankInternal.
-// - readRank is placed in the lock order wherever a read lock of this rwmutex
-// belongs.
-// - writeRank is placed in the lock order wherever a write lock of this
-// rwmutex belongs.
+// - readRankInternal is a leaf lock.
+// - readRank is taken before readRankInternal.
+// - writeRank is taken before readRankInternal.
+// - readRank is placed in the lock order wherever a read lock of this rwmutex
+// belongs.
+// - writeRank is placed in the lock order wherever a write lock of this
+// rwmutex belongs.
func (rw *rwmutex) init(readRank, readRankInternal, writeRank lockRank) {
rw.readRank = readRank
diff --git a/src/sync/pool.go b/src/sync/pool.go
index 5f8cffa8bf..e094849974 100644
--- a/src/sync/pool.go
+++ b/src/sync/pool.go
@@ -76,6 +76,7 @@ type poolLocal struct {
}
// from runtime
+//
//go:linkname runtime_randn runtime.randn
func runtime_randn(n uint32) uint32