github.com/ice-blockchain/go/src@v0.0.0-20240403114104-1564d284e521/runtime/align_runtime_test.go (about) 1 // Copyright 2022 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // This file lives in the runtime package 6 // so we can get access to the runtime guts. 7 // The rest of the implementation of this test is in align_test.go. 8 9 package runtime 10 11 import "unsafe" 12 13 // AtomicFields is the set of fields on which we perform 64-bit atomic 14 // operations (all the *64 operations in runtime/internal/atomic). 15 var AtomicFields = []uintptr{ 16 unsafe.Offsetof(m{}.procid), 17 unsafe.Offsetof(p{}.gcFractionalMarkTime), 18 unsafe.Offsetof(profBuf{}.overflow), 19 unsafe.Offsetof(profBuf{}.overflowTime), 20 unsafe.Offsetof(heapStatsDelta{}.tinyAllocCount), 21 unsafe.Offsetof(heapStatsDelta{}.smallAllocCount), 22 unsafe.Offsetof(heapStatsDelta{}.smallFreeCount), 23 unsafe.Offsetof(heapStatsDelta{}.largeAlloc), 24 unsafe.Offsetof(heapStatsDelta{}.largeAllocCount), 25 unsafe.Offsetof(heapStatsDelta{}.largeFree), 26 unsafe.Offsetof(heapStatsDelta{}.largeFreeCount), 27 unsafe.Offsetof(heapStatsDelta{}.committed), 28 unsafe.Offsetof(heapStatsDelta{}.released), 29 unsafe.Offsetof(heapStatsDelta{}.inHeap), 30 unsafe.Offsetof(heapStatsDelta{}.inStacks), 31 unsafe.Offsetof(heapStatsDelta{}.inPtrScalarBits), 32 unsafe.Offsetof(heapStatsDelta{}.inWorkBufs), 33 unsafe.Offsetof(lfnode{}.next), 34 unsafe.Offsetof(mstats{}.last_gc_nanotime), 35 unsafe.Offsetof(mstats{}.last_gc_unix), 36 unsafe.Offsetof(workType{}.bytesMarked), 37 } 38 39 // AtomicVariables is the set of global variables on which we perform 40 // 64-bit atomic operations. 41 var AtomicVariables = []unsafe.Pointer{ 42 unsafe.Pointer(&ncgocall), 43 unsafe.Pointer(&test_z64), 44 unsafe.Pointer(&blockprofilerate), 45 unsafe.Pointer(&mutexprofilerate), 46 unsafe.Pointer(&gcController), 47 unsafe.Pointer(&memstats), 48 unsafe.Pointer(&sched), 49 unsafe.Pointer(&ticks), 50 unsafe.Pointer(&work), 51 }