mirror of
https://github.com/golang/go
synced 2024-11-11 23:40:22 -07:00
runtime: debug prints for spanBytesAlloc underflow
Updates #18043. Change-Id: I24e687fdd5521c48b672987f15f0d5de9f308884 Reviewed-on: https://go-review.googlesource.com/34612 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
7f1ff65c39
commit
2817e77024
@ -405,7 +405,10 @@ func reimburseSweepCredit(unusableBytes uintptr) {
|
||||
// Nobody cares about the credit. Avoid the atomic.
|
||||
return
|
||||
}
|
||||
if int64(atomic.Xadd64(&mheap_.spanBytesAlloc, -int64(unusableBytes))) < 0 {
|
||||
nval := atomic.Xadd64(&mheap_.spanBytesAlloc, -int64(unusableBytes))
|
||||
if int64(nval) < 0 {
|
||||
// Debugging for #18043.
|
||||
print("runtime: bad spanBytesAlloc=", nval, " (was ", nval+uint64(unusableBytes), ") unusableBytes=", unusableBytes, " sweepPagesPerByte=", mheap_.sweepPagesPerByte, "\n")
|
||||
throw("spanBytesAlloc underflow")
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user