1. 06 Oct, 2018 8 commits
  2. 05 Oct, 2018 15 commits
    • Alberto Donizetti's avatar
      runtime: revert "skip TestLldbPython when lldb is too old" · 430b9cb9
      Alberto Donizetti authored
      This reverts commit d2170040.
      
      Reason for revert: It broke all the darwin builders; it's also not
      obvious how the weird darwin versions (900, 1000) relate to the > 3.9
      requisite, so I'm not sure how to decide about skipping in a robust
      way. It's better to revert the check for now.
      
      Fixes #28028
      
      Change-Id: Ibbcb7bf7cd2136e0851ebd097a2bc4dec9f0ee18
      Reviewed-on: https://go-review.googlesource.com/c/140217Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      430b9cb9
    • Mikio Hara's avatar
      vendor: update golang_org/x/net/route from upstream · 9d907160
      Mikio Hara authored
      Updates the route package to git rev 146acd2 for:
      - 146acd2 don't run NET_RT_IFLIST vs. NET_RT_IFLISTL test in 386 emulation (again)
      
      Change-Id: I24de1eb31b2ca0e24cb9ab1648f7a71b5067cf97
      Reviewed-on: https://go-review.googlesource.com/c/139937Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      9d907160
    • Yuval Pavel Zholkover's avatar
      syscall: FreeBSD 12 ino64 support · dc6eb200
      Yuval Pavel Zholkover authored
      This is similar to CL 136816 for x/sys/unix, changing the FreeBSD ABI to use 64-bit inodes in
      Stat_t, Statfs_t, and Dirent types.
      
      The changes are forward compatible, that is FreeBSD 10.x, 11.x continue to use their current sysnum numbers.
      The affected types are converted to the new layout (with some overhead).
      Thus the same statically linked binary should work using the native sysnums (without any conversion) on FreeBSD 12.
      
      Breaking API changes in package syscall are:
      Mknod takes a uint64 (C dev_t) instead of int.
      Stat_t: Dev, Ino, Nlink, Rdev, Gen became uint64.
        Atimespec, Mtimespec, Ctimespec, Birthtimespec renamed to Atim, Mtim, Ctim, Birthtim respectively.
      
      Statfs_t: Mntonname and Mntfromname changed from [88]int8 to [1024]int8 arrays.
      
      Dirent: Fileno became uint64, Namlen uint16 and an additional field Off int64 (currently unused) was added.
      
      The following commands were run to generate ztypes_* and zsyscall_* on FreeBSD-12.0-ALPHA6 systems (GOARCH=386 were run on the same amd64 host):
      GOOS=freebsd GOARCH=amd64 ./mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go |gofmt >zsyscall_freebsd_amd64.go
      GOOS=freebsd GOARCH=amd64 go tool cgo -godefs types_freebsd.go | GOOS=freebsd GOARCH=amd64 go run mkpost.go >ztypes_freebsd_amd64.go
      
      GOOS=freebsd GOARCH=386 ./mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go |gofmt >zsyscall_freebsd_386.go
      GOOS=freebsd GOARCH=386 go tool cgo -godefs types_freebsd.go | GOOS=freebsd GOARCH=386 go run mkpost.go >ztypes_freebsd_386.go
      
      GOOS=freebsd GOARCH=arm ./mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go |gofmt >zsyscall_freebsd_arm.go
      GOOS=freebsd GOARCH=arm go tool cgo -godefs -- -fsigned-char types_freebsd.go | GOOS=freebsd GOARCH=arm go run mkpost.go >ztypes_freebsd_arm.go
      
      The Kevent struct was changed to use the FREEBSD_COMPAT11 version always (requiring the COMPAT_FREEBSD11 kernel option FreeBSD-12, this is the default).
      
      The definitions of ifData were not updated, their functionality in has have been replaced by vendored golang.org/x/net/route.
      
      freebsdVersion initialization was dropped from init() in favor of a sync.Once based wrapper - supportsABI().
      
      Updates #22448.
      
      Change-Id: I359b756e2849c036d7ed7f75dbd6ec836e0b90b4
      Reviewed-on: https://go-review.googlesource.com/c/138595Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      dc6eb200
    • Jordan Rhee's avatar
      debug/pe: fix TestDWARF to work with relocations · 3d19d959
      Jordan Rhee authored
      Fixes #27904
      
      Change-Id: Ie2aad20cd66785b6cc1018c0048824382cb39f8c
      Reviewed-on: https://go-review.googlesource.com/c/140158
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      3d19d959
    • Tobias Klauser's avatar
      runtime: remove unused armArch · 68d52969
      Tobias Klauser authored
      runtime.armArch is unused on linux/arm since CL 93637. The new code in
      runtime/internal/atomic (added by CL 111315) only checks runtime.goarm.
      
      Change-Id: Ic097ee6750e39abb20f45770a1c7c2d925f02408
      Reviewed-on: https://go-review.googlesource.com/c/140077
      Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      68d52969
    • Robert Griesemer's avatar
      go/types: remove a TODO, enable a test · 497fd2c0
      Robert Griesemer authored
      1) Scopes do have a comment field for documentation (debugging output).
         No need to do anything extra.
      
      2) The testcase in expr3.src has ok error messages. Enabled.
      
      Change-Id: Ic1a03bfec0a6a70d876aa6cfb936973abe58fe6c
      Reviewed-on: https://go-review.googlesource.com/c/139902Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      497fd2c0
    • Robert Griesemer's avatar
      go/types: remove work-around for issue #26390 · 71d40c49
      Robert Griesemer authored
      This work-around is not needed anymore now that method
      signatures are type-checked separately from their receiver
      base types: no artificial cycles are introduced anymore
      and so there is no need to artificially cut them.
      
      Fixes #26854.
      
      Change-Id: I2ef15ceeaa0b486f65f6cdc466d0cf06246c74d7
      Reviewed-on: https://go-review.googlesource.com/c/139900Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      71d40c49
    • Robert Griesemer's avatar
      go/types: remove work-around for issue #26124 · 6d51dd1e
      Robert Griesemer authored
      This work-around is not needed anymore now that method
      signatures are type-checked separately from their receiver
      base types: no artificial cycles are introduced anymore
      and so there is no need to artificially cut them.
      
      Updates #26124.
      
      Change-Id: I9d50171f12dd8977116a5d3f63ac39a06b1cd492
      Reviewed-on: https://go-review.googlesource.com/c/139899Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      6d51dd1e
    • Robert Griesemer's avatar
      go/types: don't type-check method signatures eagerly anymore · 8ae8576a
      Robert Griesemer authored
      As a side-effect we also get slightly clearer errors for some
      pathological cyclic method declarations.
      
      Fixes #23203.
      Updates #26854.
      
      Change-Id: I30bd6634ac6be26d3f4ef8c7b32e5c1bf76987dd
      Reviewed-on: https://go-review.googlesource.com/c/139897Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      8ae8576a
    • Robert Griesemer's avatar
      go/types: prepare for delayed type-checking of methods to when they are used · bf924068
      Robert Griesemer authored
      Remove assumption that methods associated to concrete (non-interface)
      types have a fully set up signature. Such methods are found through
      LookupFieldOrMethod or lookupMethod, or indexed method access from
      a Named type. Make sure that the method's signature is type-checked
      before use in those cases.
      
      (MethodSets also hold methods but the type checker is not using
      them but for internal verification. API clients will be using it
      after all methods have been type-checked.)
      
      Some functions such as MissingMethod may now have to type-check a
      method and for that they need a *Checker. Add helper functions as
      necessary to provide the additional (receiver) parameter but permit
      it to be nil if the respective functions are invoked through the API
      (at which point we know that all methods have a proper signature and
      thus we don't need the delayed type-check).
      
      Since all package-level objects eventually are type-checked through
      the top-level loop in Checker.packageObjects we are guaranteed that
      all methods will be type-checked as well.
      
      Updates #23203.
      Updates #26854.
      
      Change-Id: I6e48f0016cefd498aa70b776e84a48215a9042c5
      Reviewed-on: https://go-review.googlesource.com/c/139425Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      bf924068
    • Robert Griesemer's avatar
      go/types: fix recvPtr helper (follow-up on https://golang.org/cl/139422) · f2c1c7ac
      Robert Griesemer authored
      The prior CL prepared go/types for the situation where methods might
      not have a type-checked signature when being looked up. The respective
      adjustments to recvPtr were not correct (but because so far method
      signatures are type-checked in time, the bug didn't manifest itself).
      
      Updates #23203.
      Updates #26854.
      
      Change-Id: I796691d11e6aac84396bdef802ad30715755fcc6
      Reviewed-on: https://go-review.googlesource.com/c/139721Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      f2c1c7ac
    • Meng Zhuo's avatar
      cmd/api: explicit tagKey with GOOS and GOARCH · 28fa1da9
      Meng Zhuo authored
      The origin tagKey is just dirname if no tags input which will cause
      pkgCache missmatch if other imported pkg explicit on GOARCH or GOOS
      
      This CL will add GOOS and GOARCH to tagKey
      
      Fixes #8425
      Fixes #21181
      
      Change-Id: Ifc189cf6746d753ad7c7e5bb60621297fc0a4e35
      Reviewed-on: https://go-review.googlesource.com/c/138315Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      28fa1da9
    • Austin Clements's avatar
      runtime: improve mheap.alloc doc and let compiler check system stack · 415e948e
      Austin Clements authored
      The alloc_m documentation refers to concepts that don't exist (and
      maybe never did?). alloc_m is also not the API entry point to span
      allocation.
      
      Hence, rewrite the documentation for alloc and alloc_m. While we're
      here, document why alloc_m must run on the system stack and replace
      alloc_m's hand-implemented system stack check with a go:systemstack
      annotation.
      
      Change-Id: I30e263d8e53c2774a6614e1b44df5464838cef09
      Reviewed-on: https://go-review.googlesource.com/c/139459
      Run-TryBot: Austin Clements <austin@google.com>
      Reviewed-by: 's avatarMichael Knyszek <mknyszek@google.com>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      415e948e
    • Alex Brainman's avatar
      cmd/link: move .rel symbol from .rdata into .text · 8256bcda
      Alex Brainman authored
      .rel symbol type is sym.SELFROSECT, and that makes .rel written
      into .rdata section. But .rel stores code - jump table used for
      external C functions. So we have to mark whole .rdata section
      as executable (IMAGE_SCN_MEM_EXECUTE), because of .rel presence
      in it.
      
      Move .rel into .text section, and make .rdata section non executable.
      
      I also had to move code that adjusted the size of .rel symbol
      before calling textaddress, otherwise textaddress would not
      calculate size of .text section correctly.
      
      Fixes #25926
      
      Change-Id: I4962f5de7b367410154c8709adfcd8472de9ac1a
      Reviewed-on: https://go-review.googlesource.com/c/125455
      Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      8256bcda
    • Keith Randall's avatar
      cmd/link: fix deferreturn location on wasm · 48e22da1
      Keith Randall authored
      On wasm, pcln tables are indexed by "resumption point ID" instead of
      by pc offset. When finding a deferreturn call, we must find the
      associated resumption point ID for the deferreturn call.
      
      Update #27518
      Fixes wasm bug introduced in CL 134637.
      
      Change-Id: I3d178a3f5203a06c0180a1aa2309bfb7f3014f0f
      Reviewed-on: https://go-review.googlesource.com/c/139898Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      48e22da1
  3. 04 Oct, 2018 17 commits
    • Jason Keene's avatar
      cmd/go: ensure git attributes are set · 1bca6cec
      Jason Keene authored
      This change disables the export-subst and export-ignore attributes when
      creating zip files for modules. This is done to prevent the ziphash for
      a given repo/revision from differing based on variables such as git
      version or size of repo. The full rational for this change is detailed
      here:
      
          https://github.com/golang/go/issues/27153#issuecomment-420763082
      
      Fixes #27153
      
      Change-Id: Ib33f525d91d2581fa0b5d26e70d29620c7e685e9
      Reviewed-on: https://go-review.googlesource.com/c/135175
      Run-TryBot: Bryan C. Mills <bcmills@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBryan C. Mills <bcmills@google.com>
      1bca6cec
    • Mikio Hara's avatar
      vendor: update golang_org/x/net/route from upstream · fa179eb8
      Mikio Hara authored
      Updates the route package to git rev 68fc911 for:
      - 68fc911 re-adjust routing message alignment for FreeBSD 386 emulation
      - 4dfa261 fix typos in comments
      - ae89d30 avoid unnecessary type conversions
      
      Change-Id: I915e614e464acf85a8fc80f36f05a85a9246bb01
      Reviewed-on: https://go-review.googlesource.com/c/139817
      Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      fa179eb8
    • Ben Shi's avatar
      cmd/internal/obj/arm64: simplify ADD and SUB · 80818620
      Ben Shi authored
      Currently "ADD $0x123456, Rs, Rd" will load pre-stored 0x123456
      from the constant pool and use it for the addition. Total 12 bytes
      are cost. And so does SUB.
      
      This CL breaks it to "ADD 0x123000, Rs, Rd" + "ADD 0x000456, Rd, Rd".
      Both "0x123000" and "0x000456" can be directly encoded into the
      instruction binary code. So 4 bytes are saved.
      
      1. The total size of pkg/android_arm64 decreases about 0.3KB.
      
      2. The go1 benchmark show little regression (excluding noise).
      
      name                     old time/op    new time/op    delta
      BinaryTree17-4              15.9s ± 0%     15.9s ± 1%  +0.10%  (p=0.044 n=29+29)
      Fannkuch11-4                8.72s ± 0%     8.75s ± 0%  +0.34%  (p=0.000 n=30+24)
      FmtFprintfEmpty-4           173ns ± 0%     173ns ± 0%    ~     (all equal)
      FmtFprintfString-4          368ns ± 0%     368ns ± 0%    ~     (p=0.593 n=30+30)
      FmtFprintfInt-4             417ns ± 0%     417ns ± 0%    ~     (all equal)
      FmtFprintfIntInt-4          673ns ± 0%     661ns ± 1%  -1.70%  (p=0.000 n=30+30)
      FmtFprintfPrefixedInt-4     805ns ± 0%     805ns ± 0%  +0.10%  (p=0.011 n=30+30)
      FmtFprintfFloat-4          1.09µs ± 0%    1.09µs ± 0%    ~     (p=0.125 n=30+29)
      FmtManyArgs-4              2.68µs ± 0%    2.68µs ± 0%  +0.07%  (p=0.004 n=30+30)
      GobDecode-4                32.9ms ± 0%    33.2ms ± 1%  +1.07%  (p=0.000 n=29+29)
      GobEncode-4                29.5ms ± 0%    29.6ms ± 0%  +0.26%  (p=0.000 n=28+28)
      Gzip-4                      1.38s ± 1%     1.35s ± 3%  -1.94%  (p=0.000 n=28+30)
      Gunzip-4                    139ms ± 0%     139ms ± 0%  +0.10%  (p=0.000 n=28+29)
      HTTPClientServer-4          745µs ± 5%     742µs ± 3%    ~     (p=0.405 n=28+29)
      JSONEncode-4               49.5ms ± 1%    49.9ms ± 0%  +0.89%  (p=0.000 n=30+30)
      JSONDecode-4                264ms ± 1%     264ms ± 0%  +0.25%  (p=0.001 n=30+30)
      Mandelbrot200-4            16.6ms ± 0%    16.6ms ± 0%    ~     (p=0.507 n=29+29)
      GoParse-4                  15.9ms ± 0%    16.0ms ± 1%  +0.91%  (p=0.002 n=23+30)
      RegexpMatchEasy0_32-4       379ns ± 0%     379ns ± 0%    ~     (all equal)
      RegexpMatchEasy0_1K-4      1.31µs ± 0%    1.31µs ± 0%  +0.09%  (p=0.008 n=27+30)
      RegexpMatchEasy1_32-4       357ns ± 0%     358ns ± 0%  +0.28%  (p=0.000 n=28+29)
      RegexpMatchEasy1_1K-4      2.04µs ± 0%    2.04µs ± 0%    ~     (p=0.850 n=30+30)
      RegexpMatchMedium_32-4      587ns ± 0%     589ns ± 0%  +0.33%  (p=0.000 n=30+30)
      RegexpMatchMedium_1K-4      162µs ± 0%     163µs ± 0%    ~     (p=0.351 n=30+29)
      RegexpMatchHard_32-4       9.54µs ± 0%    9.60µs ± 0%  +0.59%  (p=0.000 n=28+30)
      RegexpMatchHard_1K-4        287µs ± 0%     287µs ± 0%  +0.11%  (p=0.000 n=26+29)
      Revcomp-4                   2.50s ± 0%     2.50s ± 0%  -0.13%  (p=0.012 n=28+27)
      Template-4                  312ms ± 1%     312ms ± 1%  +0.20%  (p=0.015 n=27+30)
      TimeParse-4                1.68µs ± 0%    1.68µs ± 0%  -0.35%  (p=0.000 n=30+30)
      TimeFormat-4               1.66µs ± 0%    1.64µs ± 0%  -1.20%  (p=0.000 n=25+29)
      [Geo mean]                  246µs          246µs       -0.00%
      
      name                     old speed      new speed      delta
      GobDecode-4              23.3MB/s ± 0%  23.1MB/s ± 1%  -1.05%  (p=0.000 n=29+29)
      GobEncode-4              26.0MB/s ± 0%  25.9MB/s ± 0%  -0.25%  (p=0.000 n=29+28)
      Gzip-4                   14.1MB/s ± 1%  14.4MB/s ± 3%  +1.94%  (p=0.000 n=27+30)
      Gunzip-4                  139MB/s ± 0%   139MB/s ± 0%  -0.10%  (p=0.000 n=28+29)
      JSONEncode-4             39.2MB/s ± 1%  38.9MB/s ± 0%  -0.88%  (p=0.000 n=30+30)
      JSONDecode-4             7.37MB/s ± 0%  7.35MB/s ± 0%  -0.26%  (p=0.001 n=30+30)
      GoParse-4                3.65MB/s ± 0%  3.62MB/s ± 1%  -0.86%  (p=0.001 n=23+30)
      RegexpMatchEasy0_32-4    84.3MB/s ± 0%  84.3MB/s ± 0%    ~     (p=0.126 n=27+26)
      RegexpMatchEasy0_1K-4     784MB/s ± 0%   783MB/s ± 0%  -0.10%  (p=0.003 n=27+30)
      RegexpMatchEasy1_32-4    89.5MB/s ± 0%  89.3MB/s ± 0%  -0.20%  (p=0.000 n=27+29)
      RegexpMatchEasy1_1K-4     502MB/s ± 0%   502MB/s ± 0%    ~     (p=0.858 n=30+28)
      RegexpMatchMedium_32-4   1.70MB/s ± 0%  1.70MB/s ± 0%  -0.25%  (p=0.000 n=30+30)
      RegexpMatchMedium_1K-4   6.30MB/s ± 0%  6.30MB/s ± 0%    ~     (all equal)
      RegexpMatchHard_32-4     3.35MB/s ± 0%  3.33MB/s ± 0%  -0.47%  (p=0.000 n=30+30)
      RegexpMatchHard_1K-4     3.57MB/s ± 0%  3.56MB/s ± 0%  -0.20%  (p=0.000 n=27+30)
      Revcomp-4                 102MB/s ± 0%   102MB/s ± 0%  +0.14%  (p=0.008 n=28+28)
      Template-4               6.23MB/s ± 0%  6.21MB/s ± 1%  -0.21%  (p=0.009 n=21+30)
      [Geo mean]               24.1MB/s       24.0MB/s       -0.16%
      
      Change-Id: Ifcef3edb667540e2d86e586c23afcfbc2cf1340b
      Reviewed-on: https://go-review.googlesource.com/c/134536
      Run-TryBot: Ben Shi <powerman1st@163.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      80818620
    • Alberto Donizetti's avatar
      runtime: skip TestLldbPython when lldb is too old · d2170040
      Alberto Donizetti authored
      The TestLldbPython test is known to fail with very old lldb releases
      (3.8 and older). Skip the test when the lldb found on the system is
      too old.
      
      Fixes #22299
      
      Change-Id: I8f78d6c0d995118f806dae87f3f04a9726473116
      Reviewed-on: https://go-review.googlesource.com/c/139397Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      d2170040
    • Brad Fitzpatrick's avatar
      debug/pe: skip a test on windows/arm · 6d735371
      Brad Fitzpatrick authored
      It requires a DLL that's not available on windows/arm apparently.
      
      Fixes #27904
      
      Change-Id: I082a273f62976b7184636c6aeca6201a7871d238
      Reviewed-on: https://go-review.googlesource.com/c/139720
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: 's avatarKatie Hockman <katie@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      6d735371
    • Plekhanov Maxim's avatar
      math: use Abs in Pow rather than if x < 0 { x = -x } · 47e71f3b
      Plekhanov Maxim authored
      name     old time/op  new time/op  delta
      PowInt   55.7ns ± 1%  53.4ns ± 2%  -4.15%  (p=0.000 n=9+9)
      PowFrac   133ns ± 1%   133ns ± 2%    ~     (p=0.587 n=8+9)
      
      Change-Id: Ica0f4c2cbd554f2195c6d1762ed26742ff8e3924
      Reviewed-on: https://go-review.googlesource.com/c/85375Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      47e71f3b
    • Plekhanov Maxim's avatar
      math: use Abs in Mod rather than if x < 0 { x = -x} · 497d2417
      Plekhanov Maxim authored
      goos: linux
      goarch: amd64
      pkg: math
      
      name  old time/op  new time/op  delta
      Mod   64.7ns ± 2%  63.7ns ± 2%  -1.52%  (p=0.003 n=8+10)
      
      Change-Id: I851bec0fd6c223dab73e4a680b7393d49e81a0e8
      Reviewed-on: https://go-review.googlesource.com/c/85095Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      497d2417
    • Brad Fitzpatrick's avatar
      os: make UserHomeDir specialize behavior for GOOS=android · f22c357a
      Brad Fitzpatrick authored
      Change-Id: I69582662aeee7344226856c24907516ddfc92f60
      Reviewed-on: https://go-review.googlesource.com/c/139717
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarElias Naur <elias.naur@gmail.com>
      f22c357a
    • Austin Clements's avatar
      runtime: clarify table of arena sizes · 4c1c839a
      Austin Clements authored
      Currently the table of arena sizes mixes the number of entries in the
      L1 with the size of the L2. While the size of the L2 is important,
      this makes it hard to see what's actually going on because there's an
      implicit factor of sys.PtrSize.
      
      This changes the L2 column to say both the number of entries and the
      size that results in. This should hopefully make the relations between
      the columns of the table clearer, since they can now be plugged
      directly into the given formula.
      
      Change-Id: Ie677adaef763b893a2f620bd4fc3b8db314b3a1e
      Reviewed-on: https://go-review.googlesource.com/c/139697Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      4c1c839a
    • Austin Clements's avatar
      runtime: don't double-zero treap nodes · 011b8eb6
      Austin Clements authored
      mheap_.treapalloc.alloc() already returns a zeroed treapNode. Don't
      bother re-zeroing all of the fields.
      
      Change-Id: Iea317040fbb72dfe5ef1e2c56c287680b065f2d9
      Reviewed-on: https://go-review.googlesource.com/c/139460
      Run-TryBot: Austin Clements <austin@google.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      011b8eb6
    • Tobias Klauser's avatar
      cmd/compile: regenerate known formats for TestFormats · 6606cd3d
      Tobias Klauser authored
      This fixes the build for long-running tests after CL 139338
      
      Change-Id: Ib8adfa785d41c736188e2ff7e14125de045b96b9
      Reviewed-on: https://go-review.googlesource.com/c/139637
      Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      6606cd3d
    • Robert Griesemer's avatar
      go/types: determine hasPtrRecv property from source rather than type · d6ab653c
      Robert Griesemer authored
      LookupFieldOrMethod needs to know if a method receiver is a pointer
      type. Until now this was computed from the the method signature's
      receiver, which required the method signature to be type-checked.
      Furthermore, it required the receiver to be set before the method
      signature was fully type-checked in some cases (see issue #6638).
      
      This CL remembers this property during object resolution, when we
      know it from the source.
      
      With this CL, method signatures don't need to be type-checked before
      they can be looked up; this is a first step towards separating
      type checking of types and type-checking of associated methods.
      
      Updates #23203.
      Updates #26854.
      
      Change-Id: Ie3eb7976e8fe8176ea1b284fa7471a4b7000f80b
      Reviewed-on: https://go-review.googlesource.com/c/139422
      Run-TryBot: Robert Griesemer <gri@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      d6ab653c
    • Matthew Dempsky's avatar
      cmd/compile: merge TPTR32 and TPTR64 as TPTR · 62e5215a
      Matthew Dempsky authored
      Change-Id: I0490098a7235458c5aede1135426a9f19f8584a7
      Reviewed-on: https://go-review.googlesource.com/c/76312
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      62e5215a
    • Matthew Dempsky's avatar
      cmd/compile: handle TPTR32 like TPTR64 in smallintconst · d397d4bf
      Matthew Dempsky authored
      In preparation for followup CL merging TPTR32 and TPTR64, move TPTR32
      from the small-types fast path to the generic 64-bit fallback code so
      that it's in the same case clause as TPTR64.
      
      This should be safe, but theoretically it could change semantics
      because TPTR32 used to always be assumed to be "small", whereas now it
      will only be considered small for values less than 1<<31.
      
      This change is done in a separate CL so that it's more easily
      identified by git bisection in case it does introduce regressions.
      
      Change-Id: I6c7bb253d4e4d95c530a6e05a1147905674b55ca
      Reviewed-on: https://go-review.googlesource.com/c/139517
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      d397d4bf
    • Matthew Dempsky's avatar
      cmd/compile: remove pointer arithmetic · 5e8beed1
      Matthew Dempsky authored
      Change-Id: Ie4bab0b74d5a4e1aecd8501a48176b2e9a3d8c42
      Reviewed-on: https://go-review.googlesource.com/c/76311
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      5e8beed1
    • Kir Kolyshkin's avatar
      crypto/x509: fix getting user home dir on darwin · 2f1ef6be
      Kir Kolyshkin authored
      As pointed out in https://github.com/golang/go/issues/26463,
      HOME (or equivalent) environment variable (rather than the
      value obtained by parsing /etc/passwd or the like) should be
      used to obtain user's home directory.
      
      Since commit fa1a49aa there's a method to obtain
      user's home directory -- use it here.
      
      Change-Id: I852fbb24249bcfe08f3874fae6e7b9d01d869190
      Reviewed-on: https://go-review.googlesource.com/c/139426Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      2f1ef6be
    • Michael Fraenkel's avatar
      expvar: add Map.Delete · c6483b61
      Michael Fraenkel authored
      Fixes #13491
      
      Change-Id: Ic0525d8ee90f47d0d23c1485919aee13d2400494
      Reviewed-on: https://go-review.googlesource.com/c/139537
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      c6483b61