From: Austin Clements Date: Tue, 24 Nov 2015 19:03:58 +0000 (-0500) Subject: runtime: mark greyobject go:nowritebarrierrec X-Git-Tag: go1.6beta2~29 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=27df2e3f76925701b54d9422ae5c1cac3a7d334d;p=gostls13.git runtime: mark greyobject go:nowritebarrierrec It would certainly be a mistake to invoke a write barrier while greying an object. Change-Id: I34445a15ab09655ea8a3628a507df56aea61e618 Reviewed-on: https://go-review.googlesource.com/18533 Run-TryBot: Austin Clements Reviewed-by: Rick Hudson TryBot-Result: Gobot Gobot --- diff --git a/src/runtime/mgcmark.go b/src/runtime/mgcmark.go index 720fd72ada..52545afa29 100644 --- a/src/runtime/mgcmark.go +++ b/src/runtime/mgcmark.go @@ -1036,7 +1036,7 @@ func shade(b uintptr) { // obj is the start of an object with mark mbits. // If it isn't already marked, mark it and enqueue into gcw. // base and off are for debugging only and could be removed. -//go:nowritebarrier +//go:nowritebarrierrec func greyobject(obj, base, off uintptr, hbits heapBits, span *mspan, gcw *gcWork) { // obj should be start of allocation, and so must be at least pointer-aligned. if obj&(sys.PtrSize-1) != 0 {