]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: remove no-op pointer writes in treap rotations
authoralan <shore.cloud@gmail.com>
Thu, 10 Oct 2019 18:56:27 +0000 (18:56 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 10 Oct 2019 19:24:35 +0000 (19:24 +0000)
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>
src/runtime/sema.go

index 30c8959473a57e7940fc1fea0fb76dd031d02822..530af5baa6b647e68babc82e7cc4806e835a7b63 100644 (file)
@@ -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 {