runtime: merge codepaths in scavengeLargest

This change just makes the code in scavengeLargest easier to reason
about by reducing the number of exit points to the method. It should
still be correct either way because the condition checked at the end
(released > nbytes) will always be false if we return, but this just
makes the code a little easier to maintain.

Change-Id: If60da7696aca3fab3b5ddfc795d600d87c988238
Reviewed-on: https://go-review.googlesource.com/c/go/+/160617
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
Michael Anthony Knyszek 2019-01-31 16:57:29 +00:00 committed by Michael Knyszek
parent f70d457a36
commit 23d4c6cdd6

View file

@ -1381,7 +1381,7 @@ func (h *mheap) scavengeLargest(nbytes uintptr) {
// This check also preserves the invariant that spans that have
// `scavenged` set are only ever in the `scav` treap, and
// those which have it unset are only in the `free` treap.
return
break
}
n := t.prev()
h.free.erase(t)