]> Cypherpunks repositories - gostls13.git/commit
runtime: reusable intrusive doubly-linked list
authorMichael Pratt <mpratt@google.com>
Tue, 21 Oct 2025 19:49:36 +0000 (15:49 -0400)
committerGopher Robot <gobot@golang.org>
Tue, 11 Nov 2025 21:08:45 +0000 (13:08 -0800)
commit5f1127545747ab9db84cc41e3259f822b276de53
tree1ea45a2a0fb48edfa4e3592d83f752e90ecbe93d
parent951cf0501b57d31e648f2808820f2c7eaca3edc8
runtime: reusable intrusive doubly-linked list

Unfortunately we have two nearly identical types. One for standard types
and one for sys.NotInHeap types or cases that must avoid write barriers.
The latter must use uintptr fields, as assignment to unsafe.Pointer
fields generates a write barrier.

Change-Id: I6a6a636c62d83fa93b991033c7108d3b934412ac
Reviewed-on: https://go-review.googlesource.com/c/go/+/714020
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Commit-Queue: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
src/runtime/export_test.go
src/runtime/list.go [new file with mode: 0644]
src/runtime/list_manual.go [new file with mode: 0644]
src/runtime/list_manual_test.go [new file with mode: 0644]
src/runtime/list_test.go [new file with mode: 0644]