aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/rand.go
diff options
context:
space:
mode:
authorsivchari <shibuuuu5@gmail.com>2024-02-26 14:59:15 +0900
committerGopher Robot <gobot@golang.org>2024-02-28 20:35:05 +0000
commita05ea985c5fdb22ef606706f2b1a99eec5574c9c (patch)
tree2ccfa19bad2318746e24c796b5a1dcf090bcebba /src/runtime/rand.go
parent5d4c6088be94e0380d4b937f381eaa28ed7ba010 (diff)
downloadgo-a05ea985c5fdb22ef606706f2b1a99eec5574c9c.tar.xz
all: run go fmt
I ran go fmt to fix format on the entire repository. Change-Id: I2f09166b6b8ba0ffb0ba27f6500efb0ea4cf21ff Reviewed-on: https://go-review.googlesource.com/c/go/+/566835 Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Carlos Amedee <carlos@golang.org> Auto-Submit: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/runtime/rand.go')
-rw-r--r--src/runtime/rand.go6
1 files changed, 6 insertions, 0 deletions
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/