1. 15 Aug, 2017 38 commits
  2. 14 Aug, 2017 2 commits
    • Keith Randall's avatar
      cmd/link,compile: Provide size for func types · f4abbc0e
      Keith Randall authored
      They are currently not given a size, which makes the DWARF reader
      very confused. Particularly things like [4]func() get a size of -4, not 32.
      
      Fixes #21097
      
      Change-Id: I01e754134d82fbbe6567e3c7847a4843792a3776
      Reviewed-on: https://go-review.googlesource.com/55551Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      f4abbc0e
    • Josh Bleecher Snyder's avatar
      runtime: refactor evacuate x/y handling · 77a9cb9b
      Josh Bleecher Snyder authored
      This change unifies the x and y cases.
      
      It shrinks evacuate's machine code by ~25% and its stack size by ~15%.
      
      It also eliminates a critical branch.
      Whether an entry should go to x or y is designed to be unpredictable.
      As a result, half of the branch predictions for useX were wrong.
      Mispredicting that branch can easily incur an expensive cache miss.
      Switching to an xy array allows elimination of that branch,
      which in turn reduces cache misses.
      
      Change-Id: Ie9cef53744b96c724c377ac0985b487fc50b49b1
      Reviewed-on: https://go-review.googlesource.com/54653
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      77a9cb9b