1. 20 Apr, 2017 11 commits
    • Samuel Tan's avatar
      html/template: ignore case when handling type attribute in script element · f3f3f0d6
      Samuel Tan authored
      Convert the parsed attribute name to lowercase before checking its value in
      the HTML parser state machine. This ensures that the type attribute in
      the script element is handled in a case-sensitive manner, just like all
      other attribute names.
      
      Fixes #19965
      
      Change-Id: I806d8c62aada2c3b5b4328aff75f217ea60cb339
      Reviewed-on: https://go-review.googlesource.com/40650
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
      f3f3f0d6
    • Matthew Dempsky's avatar
      cmd/compile/internal/gc: make defframe arch-independent · 263ba3ac
      Matthew Dempsky authored
      The arch backends no longer depend on gc.Node.
      
      Passes toolstash-check -all.
      
      Change-Id: Ic7e49ae0a3ed155a2761c25e17cc341b46333fb4
      Reviewed-on: https://go-review.googlesource.com/41196
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      263ba3ac
    • Ilya Tocar's avatar
      cmd/internal/obj/x86: fix relocation offset for VEX encoded instructions · 7f983225
      Ilya Tocar authored
      VEX encoded instructions don't have a REX byte, so for PC relative
      addressing we don't need to recalculate relocation offset.
      
      Fixes #19518
      
      Change-Id: Icf5414962de4350d76fd220817498337f90614fc
      Reviewed-on: https://go-review.googlesource.com/38138
      Run-TryBot: Ilya Tocar <ilya.tocar@intel.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      7f983225
    • Samuel Tan's avatar
      html/template: ensure that MIME type handling is case insensitive · 4646a330
      Samuel Tan authored
      Handle MIME types found in the type attribute of the script element
      in a case insensitive way, as per Section 5.1 of RFC 2045.
      
      Fixes #19968
      
      Change-Id: Ie1416178c937dcf2c96bcec4191cebe7c3477af8
      Reviewed-on: https://go-review.googlesource.com/40702Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      4646a330
    • Lynn Boger's avatar
      cmd/compile: add rotates to PPC64.rules · 9248ff46
      Lynn Boger authored
      This updates PPC64.rules to include rules to generate rotates
      for ADD, OR, XOR operators that combine two opposite shifts
      that sum to 32 or 64.
      
      To support this change opcodes for ROTL and ROTLW were added to
      be used like the rotldi and rotlwi extended mnemonics.
      
      This provides the following improvement in sha3:
      
      BenchmarkPermutationFunction-8     302.83       376.40       1.24x
      BenchmarkSha3_512_MTU-8            98.64        121.92       1.24x
      BenchmarkSha3_384_MTU-8            136.80       168.30       1.23x
      BenchmarkSha3_256_MTU-8            169.21       211.29       1.25x
      BenchmarkSha3_224_MTU-8            179.76       221.19       1.23x
      BenchmarkShake128_MTU-8            212.87       263.23       1.24x
      BenchmarkShake256_MTU-8            196.62       245.60       1.25x
      BenchmarkShake256_16x-8            163.57       194.37       1.19x
      BenchmarkShake256_1MiB-8           199.02       248.74       1.25x
      BenchmarkSha3_512_1MiB-8           106.55       133.13       1.25x
      
      Fixes #20030
      
      Change-Id: I484c56f48395d32f53ff3ecb3ac6cb8191cfee44
      Reviewed-on: https://go-review.googlesource.com/40992
      Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
      Reviewed-by: 's avatarMichael Munday <munday@ca.ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      9248ff46
    • Alberto Donizetti's avatar
      cmd/trace: document that trace viewer is only tested on chromium · 865b50c9
      Alberto Donizetti authored
      Fixes #19207
      
      Change-Id: I69b70492fd01599a13c1a3beb87f492de40a18b0
      Reviewed-on: https://go-review.googlesource.com/37312Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      865b50c9
    • James Neve's avatar
      doc: escape some HTML in Effective Go code examples · 868bb5d2
      James Neve authored
      Change-Id: I4204e268c7220a50ceb270432067850ec2b5af80
      Reviewed-on: https://go-review.googlesource.com/41230Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      868bb5d2
    • Josh Bleecher Snyder's avatar
      cmd/compile: rework handling of udiv on ARM · 01b1a34a
      Josh Bleecher Snyder authored
      Instead of populating the aux symbol
      of CALLudiv during rewrite rules,
      populate it during genssa.
      
      This simplifies the rewrite rules.
      It also removes all remaining calls
      to ctxt.Lookup from any rewrite rules.
      This is a first step towards removing
      ctxt from ssa.Cache entirely,
      and also a first step towards converting
      the obj.LSym.Version field into a boolean.
      It should also speed up compilation.
      
      Also, move func udiv into package runtime.
      That's where it is anyway,
      and it lets udiv look and act like the rest of
      the runtime support functions.
      
      Change-Id: I41462a632c14fdc41f61b08049ec13cd80a87bfe
      Reviewed-on: https://go-review.googlesource.com/41191
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      01b1a34a
    • Josh Bleecher Snyder's avatar
      cmd/internal/obj: split Link.hash into version 0 and 1 · 6e97c71c
      Josh Bleecher Snyder authored
      Though LSym.Version is an int, it can only have the value 0 or 1.
      Using that, split Link.hash into two maps, one for version 0
      (which is far more common) and one for version 1.
      This lets use just the name for lookups,
      which is both faster and more compact.
      This matters because Link.hash map lookups are frequent,
      and will be contended once the backend is concurrent.
      
      name        old time/op       new time/op       delta
      Template          194ms ± 3%        192ms ± 5%  -1.46%  (p=0.000 n=47+49)
      Unicode          84.5ms ± 3%       83.8ms ± 3%  -0.81%  (p=0.011 n=50+49)
      GoTypes           543ms ± 2%        545ms ± 4%    ~     (p=0.566 n=46+49)
      Compiler          2.48s ± 2%        2.48s ± 3%    ~     (p=0.706 n=47+50)
      SSA               5.94s ± 3%        5.98s ± 2%  +0.55%  (p=0.040 n=49+50)
      Flate             119ms ± 6%        119ms ± 4%    ~     (p=0.681 n=48+47)
      GoParser          145ms ± 4%        145ms ± 3%    ~     (p=0.662 n=47+49)
      Reflect           348ms ± 3%        344ms ± 3%  -1.17%  (p=0.000 n=47+47)
      Tar               105ms ± 4%        104ms ± 3%    ~     (p=0.155 n=50+47)
      XML               197ms ± 2%        197ms ± 3%    ~     (p=0.666 n=49+49)
      [Geo mean]        332ms             331ms       -0.37%
      
      name        old user-time/op  new user-time/op  delta
      Template          230ms ±10%        226ms ±10%  -1.85%  (p=0.041 n=50+50)
      Unicode           104ms ± 6%        103ms ± 5%    ~     (p=0.076 n=49+49)
      GoTypes           707ms ± 4%        705ms ± 5%    ~     (p=0.521 n=50+50)
      Compiler          3.30s ± 3%        3.33s ± 4%  +0.76%  (p=0.003 n=50+49)
      SSA               8.17s ± 4%        8.23s ± 3%  +0.66%  (p=0.030 n=50+49)
      Flate             139ms ± 6%        138ms ± 8%    ~     (p=0.184 n=49+48)
      GoParser          174ms ± 5%        172ms ± 6%    ~     (p=0.107 n=48+49)
      Reflect           431ms ± 8%        420ms ± 5%  -2.57%  (p=0.000 n=50+46)
      Tar               119ms ± 6%        118ms ± 7%  -0.95%  (p=0.033 n=50+49)
      XML               236ms ± 4%        236ms ± 4%    ~     (p=0.935 n=50+48)
      [Geo mean]        410ms             407ms       -0.67%
      
      name        old alloc/op      new alloc/op      delta
      Template         38.7MB ± 0%       38.6MB ± 0%  -0.29%  (p=0.008 n=5+5)
      Unicode          29.8MB ± 0%       29.7MB ± 0%  -0.24%  (p=0.008 n=5+5)
      GoTypes           113MB ± 0%        113MB ± 0%  -0.29%  (p=0.008 n=5+5)
      Compiler          462MB ± 0%        462MB ± 0%  -0.12%  (p=0.008 n=5+5)
      SSA              1.27GB ± 0%       1.27GB ± 0%  -0.05%  (p=0.008 n=5+5)
      Flate            25.2MB ± 0%       25.1MB ± 0%  -0.37%  (p=0.008 n=5+5)
      GoParser         31.7MB ± 0%       31.6MB ± 0%    ~     (p=0.056 n=5+5)
      Reflect          77.5MB ± 0%       77.2MB ± 0%  -0.38%  (p=0.008 n=5+5)
      Tar              26.4MB ± 0%       26.3MB ± 0%    ~     (p=0.151 n=5+5)
      XML              41.9MB ± 0%       41.9MB ± 0%  -0.20%  (p=0.032 n=5+5)
      [Geo mean]       74.5MB            74.3MB       -0.23%
      
      name        old allocs/op     new allocs/op     delta
      Template           378k ± 1%         377k ± 1%    ~     (p=0.690 n=5+5)
      Unicode            321k ± 0%         322k ± 0%    ~     (p=0.595 n=5+5)
      GoTypes           1.14M ± 0%        1.14M ± 0%    ~     (p=0.310 n=5+5)
      Compiler          4.25M ± 0%        4.25M ± 0%    ~     (p=0.151 n=5+5)
      SSA               9.84M ± 0%        9.84M ± 0%    ~     (p=0.841 n=5+5)
      Flate              232k ± 1%         232k ± 0%    ~     (p=0.690 n=5+5)
      GoParser           315k ± 1%         315k ± 1%    ~     (p=0.841 n=5+5)
      Reflect            970k ± 0%         970k ± 0%    ~     (p=0.841 n=5+5)
      Tar                248k ± 0%         248k ± 1%    ~     (p=0.841 n=5+5)
      XML                389k ± 0%         389k ± 0%    ~     (p=1.000 n=5+5)
      [Geo mean]         724k              724k       +0.01%
      
      Updates #15756
      
      Change-Id: I2646332e89f0444ca9d5a41d7172537d904ed636
      Reviewed-on: https://go-review.googlesource.com/41050
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      6e97c71c
    • Josh Bleecher Snyder's avatar
      cmd/compile: remove haslabelgoto · 7189a02c
      Josh Bleecher Snyder authored
      As of CL 39998, it is no longer necessary.
      
      Fixes #19699
      
      Change-Id: Ie1c49c8468073c6ddeb96c03668705cf81d40c98
      Reviewed-on: https://go-review.googlesource.com/41051
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      7189a02c
    • Dave Cheney's avatar
      cmd/link/internal/ld: remove C style gotos from ldelf · d728be70
      Dave Cheney authored
      ld.ldelf contained a mixture of normal and C style, goto bad, error
      handling. The use of goto requires many variables to be declared well
      before their use which inhibited further refactoring to this method.
      
      This CL removes the gotos in this function. Future CLs will address
      remainder of the C style function scoped declarations in this function.
      
      Change-Id: Ib9def495209a2f8deb11dcf30ee954bca95390c6
      Reviewed-on: https://go-review.googlesource.com/41172
      Run-TryBot: Dave Cheney <dave@cheney.net>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      d728be70
  2. 19 Apr, 2017 29 commits