From 27df2e3f76925701b54d9422ae5c1cac3a7d334d Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Tue, 24 Nov 2015 14:03:58 -0500 Subject: [PATCH] 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 --- src/runtime/mgcmark.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 { -- 2.50.0