- 14 Jan, 2013 6 commits
-
-
Robert Griesemer authored
Also re-enabled resolver test. R=adonovan CC=golang-dev https://golang.org/cl/7107043
-
Francesc Campoy authored
Fixes #4634. R=adg, kevlar CC=golang-dev https://golang.org/cl/7066053
-
Mikio Hara authored
R=dave, rsc CC=golang-dev https://golang.org/cl/7039044
-
Rémy Oudompheng authored
Fixes #4222. Fixes #4628. R=golang-dev, adg CC=golang-dev https://golang.org/cl/7100049
-
Alex Brainman authored
R=golang-dev, kevlar CC=adg, golang-dev https://golang.org/cl/7093056
-
Kyle Lemons authored
Fixes #4647. R=r, golang-dev CC=golang-dev https://golang.org/cl/7085051
-
- 13 Jan, 2013 3 commits
-
-
Andrew Gerrand authored
R=dsymonds CC=golang-dev https://golang.org/cl/7106044
-
Andrew Gerrand authored
It's possible to view the package docs in plain text, eg: http://golang.org/pkg/time/?m=text and this CL introduces the ability to do the same for files: http://golang.org/src/pkg/time/time.go?m=text R=golang-dev, dave, minux.ma CC=golang-dev https://golang.org/cl/7085054
-
Robert Griesemer authored
Completely removed *ast.Objects from being exposed by the types API. *ast.Objects are still required internally for resolution, but now the door is open for an internal-only rewrite of identifier resolution entirely at type-check time. Once that is done, ASTs can be type-checked whether they have been created via the go/parser or otherwise, and type-checking does not require *ast.Object or scope invariants to be maintained externally. R=adonovan CC=golang-dev https://golang.org/cl/7096048
-
- 12 Jan, 2013 7 commits
-
-
Anthony Martin authored
R=minux.ma, lucio.dere CC=golang-dev https://golang.org/cl/7094048
-
Rémy Oudompheng authored
Also undo revision a5b96b602690 used to workaround the bug. Fixes #4643. R=rsc, golang-dev, dave, minux.ma, lucio.dere, bradfitz CC=golang-dev https://golang.org/cl/7090043
-
Dave Cheney authored
runoutput styles tests generally consume a lot of memory. On arm platforms rotate?.go consume around 200mb each to compile, and as tests are sorted alphabetically, they all tend to run at once. This change limits the number of runoutput jobs to 2 on arm platforms. R=minux.ma, remyoudompheng, bradfitz, lucio.dere CC=golang-dev https://golang.org/cl/7099047
-
Lucio De Re authored
R=golang-dev, minux.ma, rsc, ality, seed CC=golang-dev https://golang.org/cl/7034052
-
Caleb Spare authored
Fixes #4642. R=golang-dev, adg CC=golang-dev https://golang.org/cl/7090044
-
Kamil Kisiel authored
Fixes #4640. R=golang-dev, adg CC=golang-dev https://golang.org/cl/7082044
-
Ryan Slade authored
Fixes #4485. R=golang-dev, rsc, adg CC=golang-dev https://golang.org/cl/7071050
-
- 11 Jan, 2013 18 commits
-
-
Brad Fitzpatrick authored
Fixes #4645 R=golang-dev, alex.brainman, minux.ma CC=golang-dev https://golang.org/cl/7105047
-
Robert Griesemer authored
R=adonovan CC=golang-dev https://golang.org/cl/7103047
-
Brad Fitzpatrick authored
Fixes #3460 R=golang-dev, alex.brainman CC=golang-dev https://golang.org/cl/7096046
-
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
-
Rémy Oudompheng authored
Update #4139. R=golang-dev, iant CC=golang-dev https://golang.org/cl/7094047
-
Gwenael Treguier authored
Fixes #3678. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6460087
-
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
-
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
-
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
-
Georg Reinke authored
Update #2656 R=golang-dev, iant, minux.ma, bradfitz CC=golang-dev https://golang.org/cl/7065063
-
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
-
Stéphane Travostino authored
Fixes #4583. R=golang-dev, minux.ma, bradfitz, rsc, dave CC=golang-dev https://golang.org/cl/6976050
-
Shenghou Ma authored
R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/7066052
-
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
-
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
-
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
-
Alex Brainman authored
Update #2631. Update #3097. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7061060
-
Georg Reinke authored
Fixes #2656. R=golang-dev, bradfitz, iant, minux.ma CC=golang-dev https://golang.org/cl/7062057
-
- 10 Jan, 2013 6 commits
-
-
Rémy Oudompheng authored
5c miscompiles *p++ = struct_literal. R=dave, golang-dev CC=golang-dev https://golang.org/cl/7065069
-
Jan Ziak authored
R=rsc, dvyukov, remyoudompheng, dave, minux.ma, bradfitz CC=golang-dev https://golang.org/cl/6945069
-
Ian Lance Taylor authored
Generated by addca. R=gobot CC=golang-dev https://golang.org/cl/7057067
-
Dmitriy Vyukov authored
benchmark old ns/op new ns/op delta BenchmarkStackGrowth 665 548 -17.59% BenchmarkStackGrowth-2 333 274 -17.72% BenchmarkStackGrowth-4 224 168 -25.00% BenchmarkStackGrowth-8 124 91 -26.21% BenchmarkStackGrowth-16 82 70 -14.55% BenchmarkStackGrowth-32 73 59 -19.49% R=nigeltao, minux.ma, rsc CC=golang-dev https://golang.org/cl/7026044
-
Dmitriy Vyukov authored
Introduce global stack segment cache and limit per-thread cache size. This greatly reduces StackSys memory on workloads that create lots of threads. benchmark old ns/op new ns/op delta BenchmarkStackGrowth 665 656 -1.35% BenchmarkStackGrowth-2 333 328 -1.50% BenchmarkStackGrowth-4 224 172 -23.21% BenchmarkStackGrowth-8 124 91 -26.13% BenchmarkStackGrowth-16 82 47 -41.94% BenchmarkStackGrowth-32 73 40 -44.79% BenchmarkStackGrowthDeep 97231 94391 -2.92% BenchmarkStackGrowthDeep-2 47230 58562 +23.99% BenchmarkStackGrowthDeep-4 24993 49356 +97.48% BenchmarkStackGrowthDeep-8 15105 30072 +99.09% BenchmarkStackGrowthDeep-16 10005 15623 +56.15% BenchmarkStackGrowthDeep-32 12517 13069 +4.41% TestStackMem#1,MB 310 12 -96.13% TestStackMem#2,MB 296 14 -95.27% TestStackMem#3,MB 479 14 -97.08% TestStackMem#1,sec 3.22 2.26 -29.81% TestStackMem#2,sec 2.43 2.15 -11.52% TestStackMem#3,sec 2.50 2.38 -4.80% R=sougou, no.smile.face, rsc CC=golang-dev, msolomon https://golang.org/cl/7029044
-
Matthew Dempsky authored
Update #4582. R=nigeltao, dave, adg CC=golang-dev https://golang.org/cl/7070065
-