1. 19 Jun, 2018 3 commits
    • Robert Griesemer's avatar
      cmd/compile: more accurate position for select case error message · 707ca18d
      Robert Griesemer authored
      Fixes #25958.
      
      Change-Id: I1f4808a70c20334ecfc4eb1789f5389d94dcf00e
      Reviewed-on: https://go-review.googlesource.com/119755Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      707ca18d
    • Carlos Eduardo Seo's avatar
      runtime: implement procyield properly for ppc64x · 1caa0629
      Carlos Eduardo Seo authored
      The procyield() function should yield the processor as in other
      architectures. On ppc64x, this is achieved by setting the Program
      Priority Register to 'low priority' prior to the spin loop, and
      setting it back to 'medium-low priority' afterwards.
      
      benchmark                          old ns/op     new ns/op     delta
      BenchmarkMakeChan/Byte-8           87.7          86.6          -1.25%
      BenchmarkMakeChan/Int-8            107           106           -0.93%
      BenchmarkMakeChan/Ptr-8            201           204           +1.49%
      BenchmarkMakeChan/Struct/0-8       78.2          79.7          +1.92%
      BenchmarkMakeChan/Struct/32-8      196           200           +2.04%
      BenchmarkMakeChan/Struct/40-8      236           230           -2.54%
      BenchmarkChanNonblocking-8         8.64          8.85          +2.43%
      BenchmarkChanUncontended-8         5577          5598          +0.38%
      BenchmarkChanContended-8           66106         51529         -22.05%
      BenchmarkChanSync-8                451           441           -2.22%
      BenchmarkChanSyncWork-8            9155          9170          +0.16%
      BenchmarkChanProdCons0-8           1585          1083          -31.67%
      BenchmarkChanProdCons10-8          1094          838           -23.40%
      BenchmarkChanProdCons100-8         831           657           -20.94%
      BenchmarkChanProdConsWork0-8       1471          941           -36.03%
      BenchmarkChanProdConsWork10-8      1033          721           -30.20%
      BenchmarkChanProdConsWork100-8     730           511           -30.00%
      BenchmarkChanCreation-8            135           128           -5.19%
      BenchmarkChanSem-8                 602           463           -23.09%
      BenchmarkChanPopular-8             3017466       2188441       -27.47%
      
      Fixes #25625
      
      Change-Id: Iacb1c888d3c066902152b8367500348fb631c5f9
      Reviewed-on: https://go-review.googlesource.com/115376
      Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      1caa0629
    • Robert Griesemer's avatar
      cmd/compile: fix exporting of 'for' loops · f125052a
      Robert Griesemer authored
      The existing code for encoding 'for' loops in exported, inlineable
      functions incorrectly assumed that the 'Right' field points to an
      'expression' node. Adjusted the code to be able to handle any kind
      of node. Made matching changes for the binary and indexed exporter.
      
      This only shows up together with other pending compiler changes that
      enable exporting of such functions which contain for loops.
      
      No tests yet because we can't test this w/o those pending compiler
      changes. Once those changes are in, this code will be tested implicitly.
      However, the changes were tested manually together with the patches
      described in the issue.
      
      Fixes #25222.
      
      Change-Id: I54babb87e5d665d2c1ef6116c1de1b8c50b1138e
      Reviewed-on: https://go-review.googlesource.com/119595Reviewed-by: default avatarDavid Chase <drchase@google.com>
      f125052a
  2. 18 Jun, 2018 5 commits
  3. 17 Jun, 2018 3 commits
  4. 16 Jun, 2018 3 commits
  5. 15 Jun, 2018 15 commits
  6. 14 Jun, 2018 11 commits