...
Source file
src/runtime/tagptr_32bit.go
Documentation: runtime
1
2
3
4
5
6
7 package runtime
8
9 import "unsafe"
10
11
12 const taggedPointerBits = 32
13
14
15 const tagBits = 32
16
17
18
19
20
21 func taggedPointerPack(ptr unsafe.Pointer, tag uintptr) taggedPointer {
22 return taggedPointer(uintptr(ptr))<<32 | taggedPointer(tag)
23 }
24
25
26 func (tp taggedPointer) pointer() unsafe.Pointer {
27 return unsafe.Pointer(uintptr(tp >> 32))
28 }
29
30
31 func (tp taggedPointer) tag() uintptr {
32 return uintptr(tp)
33 }
34
View as plain text