1. 15 Jan, 2013 2 commits
  2. 14 Jan, 2013 12 commits
  3. 13 Jan, 2013 3 commits
  4. 12 Jan, 2013 7 commits
  5. 11 Jan, 2013 16 commits
    • Brad Fitzpatrick's avatar
      net/http/cgi: fix test case sensitivity on Windows · 05bf9a45
      Brad Fitzpatrick authored
      Fixes #4645
      
      R=golang-dev, alex.brainman, minux.ma
      CC=golang-dev
      https://golang.org/cl/7105047
      05bf9a45
    • Robert Griesemer's avatar
      8b62f54e
    • Brad Fitzpatrick's avatar
      database/sql: document args, add a couple examples · 20130f14
      Brad Fitzpatrick authored
      Fixes #3460
      
      R=golang-dev, alex.brainman
      CC=golang-dev
      https://golang.org/cl/7096046
      20130f14
    • Robert Griesemer's avatar
      go/types: Moving from *ast.Objects to types.Objects (step 1). · 5a9463bd
      Robert Griesemer authored
      The existing type checker was relying on augmenting ast.Object
      fields (empty interfaces) for its purposes. While this worked
      for some time now, it has become increasingly brittle. Also,
      the need for package information for Fields and Methods would
      have required a new field in each ast.Object. Rather than making
      them bigger and the code even more subtle, in this CL we are moving
      away from ast.Objects.
      
      The types packge now defines its own objects for different
      language entities (Const, Var, TypeName, Func), and they
      implement the types.Object interface. Imported packages
      create a Package object which holds the exported entities
      in a types.Scope of types.Objects.
      
      For type-checking, the current package is still using ast.Objects
      to make this transition manageable. In a next step, the type-
      checker will also use types.Objects instead, which opens the door
      door to resolving ASTs entirely by the type checker. As a result,
      the AST and type checker become less entangled, and ASTs can be
      manipulated "by hand" or programmatically w/o having to worry
      about scope and object invariants that are very hard to maintain.
      
      (As a consequence, a future parser can do less work, and a
      future AST will not need to define objects and scopes anymore.
      Also, object resolution which is now split across the parser,
      the ast, (ast.NewPackage), and even the type checker (for composite
      literal keys) can be done in a single place which will be simpler
      and more efficient.)
      
      Change details:
      - Check now takes a []*ast.File instead of a map[string]*ast.File.
      It's easier to handle (I deleted code at all use sites) and does
      not suffer from undefined order (which is a pain for testing).
      - ast.Object.Data is now a *types.Package rather then an *ast.Scope
      if the object is a package (obj.Kind == ast.Pkg). Eventually this
      will go away altogether.
      - Instead of an ast.Importer, Check now uses a types.Importer
      (which returns a *types.Package).
      - types.NamedType has two object fields (Obj Object and obj *ast.Object);
      eventually there will be only Obj. The *ast.Object is needed during
      this transition since a NamedType may refer to either an imported
      (using types.Object) or locally defined (using *ast.Object) type.
      - ast.NewPackage is not used anymore - there's a local copy for
      package-level resolution of imports.
      - struct fields now take the package origin into account.
      - The GcImporter is now returning a *types.Package. It cannot be
      used with ast.NewPackage anymore. If that functionality is still
      used, a copy of the old GcImporter should be made locally (note
      that GcImporter was part of exp/types and it's API was not frozen).
      - dot-imports are not handled for the time being (this will come back).
      
      R=adonovan
      CC=golang-dev
      https://golang.org/cl/7058060
      5a9463bd
    • Rémy Oudompheng's avatar
      test: add rotate.go and fixedbugs/bug313 · 578f24d5
      Rémy Oudompheng authored
      Update #4139.
      
      R=golang-dev, iant
      CC=golang-dev
      https://golang.org/cl/7094047
      578f24d5
    • Gwenael Treguier's avatar
      database/sql: check NumInput on Stmt.Exec · 7f0449a1
      Gwenael Treguier authored
      Fixes #3678.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/6460087
      7f0449a1
    • Rémy Oudompheng's avatar
      test: adapt old-style tests to new flag parsing. · ab1385ec
      Rémy Oudompheng authored
      The -I. syntax now needs a space to be recognized in the
      compiler.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/7098046
      ab1385ec
    • Rémy Oudompheng's avatar
      test: make rundir match compiledir/errorcheckdir. · c3836ed0
      Rémy Oudompheng authored
      This allows test/dwarf to be supported by run.go.
      
      Update #4139.
      
      R=golang-dev, bradfitz, iant
      CC=golang-dev
      https://golang.org/cl/7064067
      c3836ed0
    • Brad Fitzpatrick's avatar
      net/http: buffer before chunking · bef4cb47
      Brad Fitzpatrick authored
      This introduces a buffer between writing from a handler and
      writing chunks.  Further, it delays writing the header until
      the first full chunk is ready.  In the case where the first
      full chunk is also the final chunk (for small responses), that
      means we can also compute a Content-Length, which is a nice
      side effect for certain benchmarks.
      
      Fixes #2357
      
      R=golang-dev, dave, minux.ma, rsc, adg, balasanjay
      CC=golang-dev
      https://golang.org/cl/6964043
      bef4cb47
    • Georg Reinke's avatar
      os: use syscall.Pipe2 on Linux · 98259b92
      Georg Reinke authored
      Update #2656
      
      R=golang-dev, iant, minux.ma, bradfitz
      CC=golang-dev
      https://golang.org/cl/7065063
      98259b92
    • Daniel Morsing's avatar
      cmd/6g, cmd/8g: Allow optimization of return registers. · b73a1a8e
      Daniel Morsing authored
      The peephole optimizer would keep hands off AX and X0 during returns, even though go doesn't return through registers.
      
      R=dave, rsc
      CC=golang-dev
      https://golang.org/cl/7030046
      b73a1a8e
    • Stéphane Travostino's avatar
      bytes: fix UnreadByte failure after ReadBytes · 53e342f6
      Stéphane Travostino authored
      Fixes #4583.
      
      R=golang-dev, minux.ma, bradfitz, rsc, dave
      CC=golang-dev
      https://golang.org/cl/6976050
      53e342f6
    • Shenghou Ma's avatar
      cmd/gc, cmd/ld: update doc.go for -race · 9ae7f340
      Shenghou Ma authored
      R=golang-dev, dave, rsc
      CC=golang-dev
      https://golang.org/cl/7066052
      9ae7f340
    • Shenghou Ma's avatar
      cmd/5g: allow optimization of return registers. · bdd9f297
      Shenghou Ma authored
      Modeled after CL 7030046 by daniel.morsing.
      
      example program:
      func f(x int) int { x -= 10; return x }
      
      5g -S difference:
       --- prog list "f" ---
       0011 (x.go:7) TEXT   	add+0(SB),$0-8
       0012 (x.go:7) MOVW   	x+0(FP),R0
      -0013 (x.go:7) SUB    	$10,R0,R2
      -0014 (x.go:7) MOVW   	R2,R0
      -0015 (x.go:7) MOVW   	R2,.noname+4(FP)
      -0016 (x.go:7) RET    	,
      +0013 (x.go:7) SUB    	$10,R0
      +0014 (x.go:7) MOVW   	R0,.noname+4(FP)
      +0015 (x.go:7) RET    	,
      
      R=dave, rsc
      CC=golang-dev
      https://golang.org/cl/7030047
      bdd9f297
    • Shenghou Ma's avatar
      cmd/5l: support -Z (zero stack frame at function entry) · d5d4ee47
      Shenghou Ma authored
      also added appropriate docs to cmd/ld/doc.go
      (largely copied from Russ's CL 6938073).
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/7004049
      d5d4ee47
    • Rick Arnold's avatar
      encoding/json: improve performance of Unmarshal on primitive types · 60abc6b5
      Rick Arnold authored
      Skip most of the scanning and parsing logic for simple (non-object/array) JSON values.
      
      benchmark                   old ns/op    new ns/op    delta
      BenchmarkUnmarshalInt             948          436  -54.01%
      BenchmarkUnmarshalUint            930          427  -54.09%
      BenchmarkUnmarshalString         1407          715  -49.18%
      BenchmarkUnmarshalFloat          1114          536  -51.89%
      BenchmarkUnmarshalBool            759          266  -64.95%
      BenchmarkUnmarshalStruct         8165         8181   +0.20%
      
      No significant effects on the go1 benchmarks:
      
      benchmark                 old ns/op    new ns/op    delta
      BenchmarkBinaryTree17    9647362752   9596196417   -0.53%
      BenchmarkFannkuch11      5623613048   5518694872   -1.87%
      BenchmarkGobDecode         32944041     33165434   +0.67%
      BenchmarkGobEncode         21237482     21080554   -0.74%
      BenchmarkGzip             750955920    749861980   -0.15%
      BenchmarkGunzip           197369742    197886192   +0.26%
      BenchmarkJSONEncode        79274091     78891137   -0.48%
      BenchmarkJSONDecode       180257802    175280358   -2.76%
      BenchmarkMandelbrot200      7396666      7388266   -0.11%
      BenchmarkParse             11446460     11386550   -0.52%
      BenchmarkRevcomp         1605152523   1599512029   -0.35%
      BenchmarkTemplate         204538247    207765574   +1.58%
      
      benchmark                  old MB/s     new MB/s  speedup
      BenchmarkGobDecode            23.30        23.14    0.99x
      BenchmarkGobEncode            36.14        36.41    1.01x
      BenchmarkGzip                 25.84        25.88    1.00x
      BenchmarkGunzip               98.32        98.06    1.00x
      BenchmarkJSONEncode           24.48        24.60    1.00x
      BenchmarkJSONDecode           10.76        11.07    1.03x
      BenchmarkParse                 5.06         5.09    1.01x
      BenchmarkRevcomp             158.34       158.90    1.00x
      BenchmarkTemplate              9.49         9.34    0.98x
      
      Fixes #3949.
      
      R=golang-dev, dave, bradfitz, timo
      CC=golang-dev
      https://golang.org/cl/7068043
      60abc6b5