1. 16 Sep, 2019 15 commits
  2. 15 Sep, 2019 2 commits
    • Austin Clements's avatar
      misc/wasm: fix argv/envp layout · 142c002e
      Austin Clements authored
      The wasm_exec.js wrapper tries to set up the argv and envp following
      the UNIX conventions, but doesn't get it quite right, which can cause
      runtime.goenv to crash if you get unlucky.
      
      The main problem was that the envp array wasn't terminated with a nil
      pointer, so the runtime didn't know when to stop reading the array.
      This CL adds that nil pointer to the end of the envp array.
      
      The other problem was harmless, but confusing. In the UNIX convention,
      the argv array consists of argc pointers followed by a nil pointer,
      followed by the envp array. However, wasm_exec.js put the environment
      variable count between the two pointer arrays rather than a nil
      pointer. The runtime never looks at this slot, so it didn't matter,
      but the break from convention left Cherry and I trying to debug why it
      *wasn't* losing any environment variables before we realized that that
      layouts happened to be close enough to work. This CL switches to the
      UNIX convention of simply terminating the argv array with a nil
      pointer.
      
      Change-Id: Ic9a4cd9eabb5dfa599a809b960f9e579b9f1f4db
      Reviewed-on: https://go-review.googlesource.com/c/go/+/193417
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      Reviewed-by: default avatarRichard Musiol <neelance@gmail.com>
      142c002e
    • Ben Shi's avatar
      go/parser: fix ignored errors in ParseExprFrom · d12c62d1
      Ben Shi authored
      This CL fixes a bug in ParseExprFrom which makes
      error messages ignored when there are 10+ errors
      in a single expression.
      
      fixes #34241
      fixes #34274
      
      Change-Id: I29a82d3e3e726279005eb6fbcd7ee3aebffaa679
      Reviewed-on: https://go-review.googlesource.com/c/go/+/194638
      Run-TryBot: Ben Shi <powerman1st@163.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
      d12c62d1
  3. 14 Sep, 2019 1 commit
  4. 13 Sep, 2019 4 commits
    • Tim Cooper's avatar
      log: add Lmsgprefix flag · 8cc57c0c
      Tim Cooper authored
      The Lmsgprefix flag moves the logger's prefix from the
      beginning of the line to after the log header. For example,
      a logger with the prefix "LOG " and LstdFlags would output:
      
          LOG 2009/11/10 23:00:00 entry text
      
      Adding the Lmsgprefix flag would output:
      
          2009/11/10 23:00:00 LOG entry text
      
      Fixes #32062
      
      Change-Id: I9f7c9739abeb53c424112aaeed33444eeefdfbbc
      Reviewed-on: https://go-review.googlesource.com/c/go/+/186182
      Run-TryBot: Rob Pike <r@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRob Pike <r@golang.org>
      8cc57c0c
    • Jay Conrod's avatar
      cmd/go: fix link error for -coverpkg in GOPATH mode · 24781a1f
      Jay Conrod authored
      If a generated test main package transitively depends on a main
      package, the main package will now always be rebuilt as a library and
      will not be compiled with '-p main'.
      
      This expands the fix for #30907, which only applied to packages with
      the BuildInfo set (main packages built in module mode). Linking
      multiple packages with BuildInfo caused link errors, but it appears
      these errors apply to some symbols in GOPATH mode.
      
      Fixes #34114
      
      Change-Id: Ic1e53437942269a950dd7e45d163707922c92edd
      Reviewed-on: https://go-review.googlesource.com/c/go/+/195279
      Run-TryBot: Jay Conrod <jayconrod@google.com>
      Reviewed-by: default avatarBryan C. Mills <bcmills@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      24781a1f
    • Joel Sing's avatar
      cmd/link: simplify determineLinkMode · 79877e5f
      Joel Sing authored
      Simplify determineLinkMode by calling mustLinkExternal upfront,
      then doing a first pass for LinkModeAuto, followed by a second pass
      that determines if the link mode is valid.
      
      Change-Id: I9d7668107c159f8fe330b8c05fee035bbe9875fd
      Reviewed-on: https://go-review.googlesource.com/c/go/+/195078Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      79877e5f
    • Ruixin Bao's avatar
      cmd/compile: add math/bits.Mul64 intrinsic on s390x · 98aa9780
      Ruixin Bao authored
      This change adds an intrinsic for Mul64 on s390x. To achieve that,
      a new assembly instruction, MLGR, is introduced in s390x/asmz.go. This assembly
      instruction directly uses an existing instruction on Z and supports multiplication
      of two 64 bit unsigned integer and stores the result in two separate registers.
      
      In this case, we require the multiplcand to be stored in register R3 and
      the output result (the high and low 64 bit of the product) to be stored in
      R2 and R3 respectively.
      
      A test case is also added.
      
      Benchmark:
      name      old time/op  new time/op  delta
      Mul-18    11.1ns ± 0%   1.4ns ± 0%  -87.39%  (p=0.002 n=8+10)
      Mul32-18  2.07ns ± 0%  2.07ns ± 0%     ~     (all equal)
      Mul64-18  11.1ns ± 1%   1.4ns ± 0%  -87.42%  (p=0.000 n=10+10)
      
      Change-Id: Ieca6ad1f61fff9a48a31d50bbd3f3c6d9e6675c1
      Reviewed-on: https://go-review.googlesource.com/c/go/+/194572Reviewed-by: default avatarMichael Munday <mike.munday@ibm.com>
      Run-TryBot: Michael Munday <mike.munday@ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      98aa9780
  5. 12 Sep, 2019 18 commits