1 // Copyright 2012 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.
5 // Definitions related to data race detection.
8 enum { raceenabled
= 1 };
10 enum { raceenabled
= 0 };
13 // Initialize race detection subsystem.
14 void runtime_raceinit(void);
15 // Finalize race detection subsystem, does not return.
16 void runtime_racefini(void);
18 void runtime_racemalloc(void *p
, uintptr sz
, void *pc
);
19 void runtime_racefree(void *p
);
20 void runtime_racegostart(int32 goid
, void *pc
);
21 void runtime_racegoend(int32 goid
);
22 void runtime_racewritepc(void *addr
, void *pc
);
23 void runtime_racereadpc(void *addr
, void *pc
);
24 void runtime_racefingo(void);
25 void runtime_raceacquire(void *addr
);
26 void runtime_raceacquireg(G
*gp
, void *addr
);
27 void runtime_racerelease(void *addr
);
28 void runtime_racereleaseg(G
*gp
, void *addr
);
29 void runtime_racereleasemerge(void *addr
);
30 void runtime_racereleasemergeg(G
*gp
, void *addr
);