mirror of
https://github.com/golang/go
synced 2024-10-04 20:21:22 -06:00
fa4628346b
The original plan was to collect allocation stacks for all memory blocks. But it was never implemented and it's not in near plans and it's unclear how to do it at all. R=golang-dev, dave, bradfitz CC=golang-dev https://golang.org/cl/12724044
34 lines
1.2 KiB
C
34 lines
1.2 KiB
C
// Copyright 2012 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Definitions related to data race detection.
|
|
|
|
#ifdef RACE
|
|
enum { raceenabled = 1 };
|
|
#else
|
|
enum { raceenabled = 0 };
|
|
#endif
|
|
|
|
// Initialize race detection subsystem.
|
|
uintptr runtime·raceinit(void);
|
|
// Finalize race detection subsystem, does not return.
|
|
void runtime·racefini(void);
|
|
|
|
void runtime·racemapshadow(void *addr, uintptr size);
|
|
void runtime·racemalloc(void *p, uintptr sz);
|
|
void runtime·racefree(void *p);
|
|
uintptr runtime·racegostart(void *pc);
|
|
void runtime·racegoend(void);
|
|
void runtime·racewritepc(void *addr, void *callpc, void *pc);
|
|
void runtime·racereadpc(void *addr, void *callpc, void *pc);
|
|
void runtime·racewriterangepc(void *addr, uintptr sz, void *callpc, void *pc);
|
|
void runtime·racereadrangepc(void *addr, uintptr sz, void *callpc, void *pc);
|
|
void runtime·racefingo(void);
|
|
void runtime·raceacquire(void *addr);
|
|
void runtime·raceacquireg(G *gp, void *addr);
|
|
void runtime·racerelease(void *addr);
|
|
void runtime·racereleaseg(G *gp, void *addr);
|
|
void runtime·racereleasemerge(void *addr);
|
|
void runtime·racereleasemergeg(G *gp, void *addr);
|