1
2
3
4
5
6
7 package cgo
8
9 import (
10 "internal/cpu"
11 "unsafe"
12 )
13
14 const offsetX86HasAVX = unsafe.Offsetof(cpu.X86.HasAVX)
15
16
17 var _cgo_tsan_acquire_fn uintptr
18
19
20 var _cgo_tsan_release_fn uintptr
21
22
23 var _cgo_msan_unpoison_fn uintptr
24
25
26
27 func tsanAcquire() {
28 if _cgo_tsan_acquire_fn != 0 {
29 callC(_cgo_tsan_acquire_fn, 0, 0, 0, 0, 0, 0)
30 }
31 }
32
33
34
35 func tsanRelease() {
36 if _cgo_tsan_release_fn != 0 {
37 callC(_cgo_tsan_release_fn, 0, 0, 0, 0, 0, 0)
38 }
39 }
40
41
42
43 func msanUnpoison(addr unsafe.Pointer, size uintptr) {
44 if _cgo_msan_unpoison_fn != 0 {
45 callC(_cgo_msan_unpoison_fn, uintptr(addr), size, 0, 0, 0, 0)
46 }
47 }
48
49
50
51
52
53 func callC(fn, a0, a1, a2, a3, a4, a5 uintptr) uintptr
54
View as plain text