mirror of
https://github.com/golang/go
synced 2024-11-12 05:30:21 -07:00
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 <austin@google.com> Reviewed-by: Rick Hudson <rlh@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
7b1f055eb1
commit
27df2e3f76
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user