aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/lfstack.go
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2023-04-14 14:36:12 -0700
committerGopher Robot <gobot@golang.org>2023-04-18 20:22:50 +0000
commitd959dd97b12f4067c8511fb11493e3bf47eb9737 (patch)
tree519aee3698fa3e8a47ab7f3ef76bce6d51bcad30 /src/runtime/lfstack.go
parentfd786a550a0ca004725cba2f49fd8ee86ef22b10 (diff)
downloadgo-d959dd97b12f4067c8511fb11493e3bf47eb9737.tar.xz
runtime: change lfstack support to taggedPointer
This is a refactoring with no change in behavior, in preparation for future netpoll work. For #59545 Change-Id: I493c5fd0f49f31b75787f7b5b89c544bed73f64f Reviewed-on: https://go-review.googlesource.com/c/go/+/484836 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Ian Lance Taylor <iant@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Orlando Labao <orlando.labao43@gmail.com>
Diffstat (limited to 'src/runtime/lfstack.go')
-rw-r--r--src/runtime/lfstack.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/runtime/lfstack.go b/src/runtime/lfstack.go
index 306a8e888a..a91ae64e53 100644
--- a/src/runtime/lfstack.go
+++ b/src/runtime/lfstack.go
@@ -67,3 +67,11 @@ func lfnodeValidate(node *lfnode) {
throw("bad lfnode address")
}
}
+
+func lfstackPack(node *lfnode, cnt uintptr) uint64 {
+ return uint64(taggedPointerPack(unsafe.Pointer(node), cnt))
+}
+
+func lfstackUnpack(val uint64) *lfnode {
+ return (*lfnode)(taggedPointer(val).pointer())
+}