From 87ec06f96165fcbacf06904cc70a5f19c2a6c00a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 17 Mar 2015 15:07:05 -0400 Subject: runtime: fix writebarrier throw in lock_sema The value in question is really a bit pattern (a pointer with extra bits thrown in), so treat it as a uintptr instead, avoiding the generation of a write barrier when there might not be a p. Also add the obligatory //go:nowritebarrier. Change-Id: I4ea097945dd7093a140f4740bcadca3ce7191971 Reviewed-on: https://go-review.googlesource.com/7667 Reviewed-by: Rick Hudson Reviewed-by: Austin Clements --- src/runtime/runtime2.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/runtime/runtime2.go') diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go index 27700b6217..6604b9920c 100644 --- a/src/runtime/runtime2.go +++ b/src/runtime/runtime2.go @@ -301,7 +301,7 @@ type m struct { freghi [16]uint32 // d[i] msb and f[i+16] fflag uint32 // floating point compare flags locked uint32 // tracking for lockosthread - nextwaitm *m // next m waiting for lock + nextwaitm uintptr // next m waiting for lock waitsema uintptr // semaphore for parking on locks waitsemacount uint32 waitsemalock uint32 -- cgit v1.3