diff options
| author | alan <shore.cloud@gmail.com> | 2019-10-10 18:56:27 +0000 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2019-10-10 19:24:35 +0000 |
| commit | 26ff21d44da04bc3fdec33caf292a836ac4e692a (patch) | |
| tree | 8b819106d681b7d0c366b9b1ebea1f9797b1fc5d /src | |
| parent | 68395a66f9fece387701e1450e3d7a8fa91fb76e (diff) | |
| download | go-26ff21d44da04bc3fdec33caf292a836ac4e692a.tar.xz | |
runtime: remove no-op pointer writes in treap rotations
Change-Id: If5a272f331fe9da09467efedd0231a4ce34db0f8
GitHub-Last-Rev: 4b81a79a92db4b51001ce6660b24c760fd3b630b
GitHub-Pull-Request: golang/go#28420
Reviewed-on: https://go-review.googlesource.com/c/go/+/144999
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/runtime/sema.go | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/src/runtime/sema.go b/src/runtime/sema.go index 30c8959473..530af5baa6 100644 --- a/src/runtime/sema.go +++ b/src/runtime/sema.go @@ -373,19 +373,11 @@ Found: func (root *semaRoot) rotateLeft(x *sudog) { // p -> (x a (y b c)) p := x.parent - a, y := x.prev, x.next - b, c := y.prev, y.next + y := x.next + b := y.prev y.prev = x x.parent = y - y.next = c - if c != nil { - c.parent = y - } - x.prev = a - if a != nil { - a.parent = x - } x.next = b if b != nil { b.parent = x @@ -409,23 +401,15 @@ func (root *semaRoot) rotateLeft(x *sudog) { func (root *semaRoot) rotateRight(y *sudog) { // p -> (y (x a b) c) p := y.parent - x, c := y.prev, y.next - a, b := x.prev, x.next + x := y.prev + b := x.next - x.prev = a - if a != nil { - a.parent = x - } x.next = y y.parent = x y.prev = b if b != nil { b.parent = y } - y.next = c - if c != nil { - c.parent = y - } x.parent = p if p == nil { |
