]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: merge codepaths in scavengeLargest
authorMichael Anthony Knyszek <mknyszek@google.com>
Thu, 31 Jan 2019 16:57:29 +0000 (16:57 +0000)
committerMichael Knyszek <mknyszek@google.com>
Mon, 8 Apr 2019 15:36:03 +0000 (15:36 +0000)
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>
src/runtime/mheap.go

index 47e3a333911411b8c3d060bd6a89a6a833e3d1db..8b7ed742c93fe1f372b798ec0c0ff054bd23664f 100644 (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)