github.com/razvanm/vanadium-go-1.3@v0.0.0-20160721203343-4a65068e5915/src/runtime/race.h (about) 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. 4 5 // Definitions related to data race detection. 6 7 #ifdef RACE 8 enum { raceenabled = 1 }; 9 #else 10 enum { raceenabled = 0 }; 11 #endif 12 13 // Initialize race detection subsystem. 14 uintptr runtime·raceinit(void); 15 // Finalize race detection subsystem, does not return. 16 void runtime·racefini(void); 17 18 void runtime·racemapshadow(void *addr, uintptr size); 19 void runtime·racemalloc(void *p, uintptr sz); 20 uintptr runtime·racegostart(void *pc); 21 void runtime·racegoend(void); 22 void runtime·racewritepc(void *addr, void *callpc, void *pc); 23 void runtime·racereadpc(void *addr, void *callpc, void *pc); 24 void runtime·racewriterangepc(void *addr, uintptr sz, void *callpc, void *pc); 25 void runtime·racereadrangepc(void *addr, uintptr sz, void *callpc, void *pc); 26 void runtime·racereadobjectpc(void *addr, Type *t, void *callpc, void *pc); 27 void runtime·racewriteobjectpc(void *addr, Type *t, void *callpc, void *pc); 28 void runtime·racefingo(void); 29 void runtime·raceacquire(void *addr); 30 void runtime·raceacquireg(G *gp, void *addr); 31 void runtime·racerelease(void *addr); 32 void runtime·racereleaseg(G *gp, void *addr); 33 void runtime·racereleasemerge(void *addr); 34 void runtime·racereleasemergeg(G *gp, void *addr);