Commit 0ead18c5 authored by Dmitriy Vyukov's avatar Dmitriy Vyukov

runtime: mark race instrumentation callbacks as nosplitstack

It speedups the race detector somewhat, but also prevents
getcallerpc() from obtaining lessstack().

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6812091
parent fb9706d3
...@@ -47,6 +47,8 @@ runtime·racefini(void) ...@@ -47,6 +47,8 @@ runtime·racefini(void)
} }
// Called from instrumented code. // Called from instrumented code.
// If we split stack, getcallerpc() can return runtime·lessstack().
#pragma textflag 7
void void
runtime·racewrite(uintptr addr) runtime·racewrite(uintptr addr)
{ {
...@@ -58,6 +60,8 @@ runtime·racewrite(uintptr addr) ...@@ -58,6 +60,8 @@ runtime·racewrite(uintptr addr)
} }
// Called from instrumented code. // Called from instrumented code.
// If we split stack, getcallerpc() can return runtime·lessstack().
#pragma textflag 7
void void
runtime·raceread(uintptr addr) runtime·raceread(uintptr addr)
{ {
...@@ -69,6 +73,7 @@ runtime·raceread(uintptr addr) ...@@ -69,6 +73,7 @@ runtime·raceread(uintptr addr)
} }
// Called from instrumented code. // Called from instrumented code.
#pragma textflag 7
void void
runtime·racefuncenter(uintptr pc) runtime·racefuncenter(uintptr pc)
{ {
...@@ -83,6 +88,7 @@ runtime·racefuncenter(uintptr pc) ...@@ -83,6 +88,7 @@ runtime·racefuncenter(uintptr pc)
} }
// Called from instrumented code. // Called from instrumented code.
#pragma textflag 7
void void
runtime·racefuncexit(void) runtime·racefuncexit(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment