mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: introduce a type for lfstacks
The lfstack API is still a C-style API: lfstacks all have unhelpful type uint64 and the APIs are package-level functions. Make the code more readable and Go-style by creating an lfstack type with methods for push, pop, and empty. Change-Id: I64685fa3be0e82ae2d1a782a452a50974440a827 Reviewed-on: https://go-review.googlesource.com/38290 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
This commit is contained in:
parent
2805d20689
commit
13ae271d5d
4 changed files with 35 additions and 24 deletions
|
|
@ -41,11 +41,11 @@ type LFNode struct {
|
|||
}
|
||||
|
||||
func LFStackPush(head *uint64, node *LFNode) {
|
||||
lfstackpush(head, (*lfnode)(unsafe.Pointer(node)))
|
||||
(*lfstack)(head).push((*lfnode)(unsafe.Pointer(node)))
|
||||
}
|
||||
|
||||
func LFStackPop(head *uint64) *LFNode {
|
||||
return (*LFNode)(unsafe.Pointer(lfstackpop(head)))
|
||||
return (*LFNode)(unsafe.Pointer((*lfstack)(head).pop()))
|
||||
}
|
||||
|
||||
func GCMask(x interface{}) (ret []byte) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue