1. 26 Aug, 2015 1 commit
  2. 25 Aug, 2015 16 commits
  3. 24 Aug, 2015 16 commits
    • Josh Bleecher Snyder's avatar
      [dev.ssa] cmd/compile: streamline unimplemented strings · 5844603f
      Josh Bleecher Snyder authored
      This aids in making sense of the aggregate set of work outstanding.
      Interest in the details of any particular implementation failure
      is better handled locally anyway.
      
      In my local tree, running make.bash after this CL yields:
      
       14.85%  1811 SSA unimplemented: unhandled expr SLICEARR
       13.84%  1687 SSA unimplemented: unhandled expr CALLINTER
       11.84%  1444 SSA unimplemented: unhandled stmt RETJMP
       10.24%  1249 SSA unimplemented: unhandled expr EFACE
        8.52%  1039 SSA unimplemented: unhandled expr SLICE
        4.92%   600 SSA unimplemented: local variable with class PAUTO,heap unimplemented
        4.90%   598 SSA unimplemented: unhandled expr SLICESTR
        3.91%   477 SSA unimplemented: local variable with class PFUNC unimplemented
        3.45%   421 SSA unimplemented: not lowered: IMake INTER PTR64 PTR64
        3.42%   417 SSA unimplemented: unhandled expr APPEND
        3.21%   391 SSA unimplemented: unhandled expr CLOSUREVAR
        3.06%   373 SSA unimplemented: unhandled stmt DEFER
        3.04%   371 SSA unimplemented: unhandled stmt AS2DOTTYPE
        1.61%   196 SSA unimplemented: unhandled expr DOTTYPE
        1.56%   190 SSA unimplemented: not lowered: Load STRUCT PTR64 mem
        0.79%    96 SSA unimplemented: not lowered: StringMake STRING PTR64 UINTPTR
        0.69%    84 SSA unimplemented: unhandled binary op NE FLOAT64
        0.53%    65 SSA unimplemented: unhandled expr STRUCTLIT
        0.50%    61 SSA unimplemented: not lowered: SliceMake ARRAY PTR64 UINTPTR UINTPTR
        0.45%    55 SSA unimplemented: zero for type float64 not implemented
        0.44%    54 SSA unimplemented: unhandled addr CLOSUREVAR
        0.38%    46 SSA unimplemented: unhandled binary op EQ FLOAT64
        0.35%    43 SSA unimplemented: unhandled binary op LT FLOAT64
        0.34%    42 SSA unimplemented: unhandled len(map)
        0.33%    40 SSA unimplemented: unhandled stmt FALL
        0.23%    28 SSA unimplemented: CONVNOP closure
        0.21%    25 SSA unimplemented: local variable with class PPARAM,heap unimplemented
        0.21%    25 SSA unimplemented: unhandled binary op GT FLOAT64
        0.18%    22 SSA unimplemented: unhandled OCONV FLOAT32 -> FLOAT64
        0.18%    22 SSA unimplemented: unhandled expr REAL
        0.16%    20 SSA unimplemented: unhandled stmt PROC
        0.16%    19 SSA unimplemented: unhandled closure arg
        0.15%    18 SSA unimplemented: unhandled OCONV INT64 -> FLOAT64
        0.12%    15 SSA unimplemented: unhandled expr CFUNC
        0.10%    12 SSA unimplemented: unhandled OCONV UINT64 -> FLOAT64
        0.09%    11 SSA unimplemented: unhandled OLITERAL 4
        0.09%    11 SSA unimplemented: unhandled expr IMAG
        0.07%     9 SSA unimplemented: unhandled binary op GE FLOAT64
        0.07%     9 SSA unimplemented: unhandled binary op MINUS FLOAT64
        0.06%     7 SSA unimplemented: unhandled OCONV FLOAT64 -> FLOAT32
        0.06%     7 SSA unimplemented: unhandled binary op NE FLOAT32
        0.06%     7 SSA unimplemented: variable address class 5 not implemented
        0.05%     6 SSA unimplemented: not lowered: Load COMPLEX128 PTR64 mem
        0.05%     6 SSA unimplemented: unhandled expr SLICE3ARR
        0.04%     5 SSA unimplemented: unhandled binary op LE FLOAT64
        0.03%     4 SSA unimplemented: unhandled OCONV UINTPTR -> FLOAT64
        0.03%     4 SSA unimplemented: unhandled binary op EQ COMPLEX128
        0.03%     4 SSA unimplemented: unhandled binary op EQ FLOAT32
        0.03%     4 SSA unimplemented: unhandled expr COMPLEX
        0.02%     3 SSA unimplemented: local variable with class PPARAMOUT,heap unimplemented
        0.02%     3 SSA unimplemented: not lowered: Load ARRAY PTR64 mem
        0.02%     3 SSA unimplemented: unhandled OCONV INT32 -> FLOAT64
        0.02%     3 SSA unimplemented: unhandled OCONV INT64 -> FLOAT32
        0.02%     3 SSA unimplemented: unhandled expr SLICE3
        0.02%     2 SSA unimplemented: unhandled OCONV COMPLEX64 -> COMPLEX128
        0.02%     2 SSA unimplemented: unhandled OCONV FLOAT64 -> INT64
        0.02%     2 SSA unimplemented: unhandled OCONV FLOAT64 -> UINT64
        0.02%     2 SSA unimplemented: unhandled OCONV INT -> FLOAT64
        0.02%     2 SSA unimplemented: unhandled OCONV UINT64 -> FLOAT32
        0.02%     2 SSA unimplemented: unhandled binary op EQ COMPLEX64
        0.02%     2 SSA unimplemented: unhandled binary op MINUS FLOAT32
        0.02%     2 SSA unimplemented: zero for type complex128 not implemented
        0.02%     2 SSA unimplemented: zero for type complex64 not implemented
        0.02%     2 SSA unimplemented: zero for type float32 not implemented
        0.01%     1 SSA unimplemented: not lowered: EqFat BOOL INTER INTER
        0.01%     1 SSA unimplemented: not lowered: Store mem UINTPTR COMPLEX128 mem
        0.01%     1 SSA unimplemented: unhandled OCONV UINT32 -> FLOAT64
        0.01%     1 SSA unimplemented: unhandled cap(chan)
        0.01%     1 SSA unimplemented: unhandled expr ARRAYLIT
        0.01%     1 SSA unimplemented: unhandled expr PLUS
        0.01%     1 SSA unimplemented: unhandled stmt CHECKNIL
      
      Change-Id: I43474fe6d6ec22a9f57239090136f6e97eebfdf2
      Reviewed-on: https://go-review.googlesource.com/13848Reviewed-by: default avatarKeith Randall <khr@golang.org>
      5844603f
    • Josh Bleecher Snyder's avatar
      [dev.ssa] cmd/compile: support spilling and loading flags · 9f8f8c27
      Josh Bleecher Snyder authored
      This CL takes a simple approach to spilling and loading flags.
      We never spill. When a load is needed, we recalculate,
      loading the arguments as needed.
      
      This is simple and architecture-independent.
      It is not very efficient, but as of this CL,
      there are fewer than 200 flag spills during make.bash.
      
      This was tested by manually reverting CLs 13813 and 13843,
      causing SETcc, MOV, and LEA instructions to clobber flags,
      which dramatically increases the number of flags spills.
      With that done, all stdlib tests that used to pass
      still pass.
      
      For future reference, here are some other, more efficient
      amd64-only schemes that we could adapt in the future if needed.
      
      (1) Spill exactly the flags needed.
      
      For example, if we know that the flags will be needed
      by a SETcc or Jcc op later, we could use SETcc to
      extract just the relevant flag. When needed,
      we could use TESTB and change the op to JNE/SETNE.
      (Alternatively, we could leave the op unaltered
      and prepare an appropriate CMPB instruction
      to produce the desired flag.)
      
      However, this requires separate handling for every
      instruction that uses the flags register,
      including (say) SBBQcarrymask.
      
      We could enable this on an ad hoc basis for common cases
      and fall back to recalculation for other cases.
      
      (2) Spill all flags with PUSHF and POPF
      
      This modifies SP, which the runtime won't like.
      It also requires coordination with stackalloc to
      make sure that we have a stack slot ready for use.
      
      (3) Spill almost all flags with LAHF, SETO, and SAHF
      
      See http://blog.freearrow.com/archives/396
      for details. This would handle all the flags we currently
      use. However, LAHF and SAHF are not universally available
      and it requires arranging for AX to be free.
      
      Change-Id: Ie36600fd8e807ef2bee83e2e2ae3685112a7f276
      Reviewed-on: https://go-review.googlesource.com/13844Reviewed-by: default avatarKeith Randall <khr@golang.org>
      9f8f8c27
    • Josh Bleecher Snyder's avatar
      [dev.ssa] cmd/compile: mark LEA and MOV instructions as not clobbering flags · f3171994
      Josh Bleecher Snyder authored
      This further reduces the number of flags spills
      during make.bash by about 50%.
      
      Note that GetG is implemented by one or two MOVs,
      which is why it does not clobber flags.
      
      Change-Id: I6fede8c027b7dc340e00d1e15df1b87bf2b2d9ec
      Reviewed-on: https://go-review.googlesource.com/13843Reviewed-by: default avatarKeith Randall <khr@golang.org>
      f3171994
    • Josh Bleecher Snyder's avatar
      [dev.ssa] cmd/compile: make "*Value".String more robust · 220e7054
      Josh Bleecher Snyder authored
      Change-Id: I4ae38440a33574421c9e3e350701e86e8a224b92
      Reviewed-on: https://go-review.googlesource.com/13842Reviewed-by: default avatarTodd Neal <todd@tneal.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      220e7054
    • Joe Tsai's avatar
      hash/fnv: fix wiki url · 8e2d0e1c
      Joe Tsai authored
      The URL is shown on go docs and is an eye-sore.
      
      For go1.6.
      
      Change-Id: I8b8ea3751200d06ed36acfe22f47ebb38107f8db
      Reviewed-on: https://go-review.googlesource.com/13282Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      8e2d0e1c
    • Dave Cheney's avatar
      runtime: check pointer equality in arm cmpbody · 1135b9d6
      Dave Cheney authored
      Updates #11336
      
      Follow the lead of amd64 do a pointer equality check
      before comparing string/byte contents on arm.
      
      BenchmarkCompareBytesEqual-4               208             211             +1.44%
      BenchmarkCompareBytesToNil-4               83.6            81.8            -2.15%
      BenchmarkCompareBytesEmpty-4               80.2            75.2            -6.23%
      BenchmarkCompareBytesIdentical-4           208             75.2            -63.85%
      BenchmarkCompareBytesSameLength-4          126             128             +1.59%
      BenchmarkCompareBytesDifferentLength-4     128             130             +1.56%
      BenchmarkCompareBytesBigUnaligned-4        14192804        14060971        -0.93%
      BenchmarkCompareBytesBig-4                 12277313        12128193        -1.21%
      BenchmarkCompareBytesBigIdentical-4        9385046         78.5            -100.00%
      
      Change-Id: I5b24620018688c5fe04b6ff6743a24c4ce225788
      Reviewed-on: https://go-review.googlesource.com/13881Reviewed-by: default avatarKeith Randall <khr@golang.org>
      1135b9d6
    • Rob Pike's avatar
      fmt: in Scanf, %c can scan a space, so don't skip spaces at %c · b1eec186
      Rob Pike authored
      In short, %c should just give you the next rune, period.
      Apparently this is the design. I use the term loosely.
      
      Fixes #12275
      
      Change-Id: I6f30bed442c0e88eac2244d465c7d151b29cf393
      Reviewed-on: https://go-review.googlesource.com/13821Reviewed-by: default avatarAndrew Gerrand <adg@golang.org>
      b1eec186
    • Andrew Gerrand's avatar
      doc: remove mention of defunct golang-bugs mailing list · 47bdda64
      Andrew Gerrand authored
      Fixes #12299
      
      Change-Id: Id7b73d2935c9f7c0952f833613973ef455d02b0d
      Reviewed-on: https://go-review.googlesource.com/13858Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      47bdda64
    • Tarmigan Casebolt's avatar
      encoding/asn1: fix unused assignments · 201a05ad
      Tarmigan Casebolt authored
      Unused assignment for `err` encoding/asn1/marshal.go:622:3
      Unused assignment for `err` encoding/asn1/marshal.go:650:5
      
      Change-Id: I4226238645ce3640f25124cb405444e61439fd3f
      Reviewed-on: https://go-review.googlesource.com/13847Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      201a05ad
    • Matt Layher's avatar
      net: allow ParseMAC to parse 20-octet IPoIB link-layer address · 759210b9
      Matt Layher authored
      Fixes #11763
      
      Change-Id: Ie291b36a8c29694e80940836d7e6fd96d2d76494
      Reviewed-on: https://go-review.googlesource.com/12382Reviewed-by: default avatarMikio Hara <mikioh.mikioh@gmail.com>
      Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      759210b9
    • Tarmigan Casebolt's avatar
      image/gif: avoid unused assignment · f7dc4eb9
      Tarmigan Casebolt authored
      Change-Id: Iaaecd8be9268c923f40cf0e5153cbf79f7015b8d
      Reviewed-on: https://go-review.googlesource.com/13892Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      f7dc4eb9
    • Marcel van Lohuizen's avatar
      unicode: include rune 0 in RangeTables. · c714bbbf
      Marcel van Lohuizen authored
      All of Go passes. No changes for the text repo.
      
      Fixes #10153
      
      Change-Id: I313369bf471c8974390a6d42075e5c54f6a81750
      Reviewed-on: https://go-review.googlesource.com/13667Reviewed-by: default avatarRuss Cox <rsc@golang.org>
      Reviewed-by: default avatarRob Pike <r@golang.org>
      c714bbbf
    • Tarmigan Casebolt's avatar
      go/internal/gcimporter: remove unused assignment · 1870c812
      Tarmigan Casebolt authored
      Change-Id: I0b19731a46e4e67a7dd503dd133cafc7678760a7
      Reviewed-on: https://go-review.googlesource.com/13890Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      1870c812
    • Tarmigan Casebolt's avatar
      math: avoid unused assignment in jn.go · e893724e
      Tarmigan Casebolt authored
      Change-Id: Ie4f21bcd5849e994c63ec5bbda2dee6f3ec4da12
      Reviewed-on: https://go-review.googlesource.com/13891Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      e893724e
    • Alex Brainman's avatar
      internal/syscall/windows/registry: remove debugging dreg · cfb5bc99
      Alex Brainman authored
      Change-Id: I1b9f6ad322a7f68fa160c4f09d7fb56815e505a7
      Reviewed-on: https://go-review.googlesource.com/13828Reviewed-by: default avatarRob Pike <r@golang.org>
      cfb5bc99
    • Dave Cheney's avatar
      make.bash: abort if $GOROOT_BOOTSTRAP == $GOROOT · f9379eb3
      Dave Cheney authored
      Fixes #12214
      
      Change-Id: I82586b54ac7b9c0c71055bb66b921e3efbf4977c
      Reviewed-on: https://go-review.googlesource.com/13719Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: default avatarAndrew Gerrand <adg@golang.org>
      f9379eb3
  4. 23 Aug, 2015 2 commits
  5. 22 Aug, 2015 5 commits