- 07 Oct, 2012 3 commits
-
-
Nigel Tao authored
to be consistent with the fdct function, and to ease any future idct rewrites in assembly. The BenchmarkIDCT delta is obviously just an accounting change and not a real saving, but it does give an indication of what proportion of time was spent in the actual IDCT and what proportion was in shift and clip. The idct time taken is now comparable to fdct. The BenchmarkFDCT delta is an estimate of benchmark noise. benchmark old ns/op new ns/op delta BenchmarkFDCT 3842 3837 -0.13% BenchmarkIDCT 5611 3478 -38.01% BenchmarkDecodeRGBOpaque 2932785 2929751 -0.10% R=r CC=golang-dev https://golang.org/cl/6625057
-
Nigel Tao authored
refer to opacity. Those references were copy/pasted from the image/png encoding benchmarks, which cares whether or not the source image is opaque, but the JPEG encoder does not care. R=r CC=golang-dev https://golang.org/cl/6623052
-
Robert Hencke authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/6610061
-
- 06 Oct, 2012 12 commits
-
-
Nigel Tao authored
elimination) in idct.go. benchmark old ns/op new ns/op delta BenchmarkIDCT 5649 5610 -0.69% BenchmarkDecodeRGBOpaque 2948607 2941051 -0.26% The "type block" declaration moved so that idct.go is compilable as a stand-alone file: "go tool 6g -S idct.go" works. R=r CC=golang-dev https://golang.org/cl/6619056
-
Rémy Oudompheng authored
It confused the detection of init loops when involving method calls. Fixes #3890. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6620067
-
Rémy Oudompheng authored
Fixes #4201. R=golang-dev, rsc CC=golang-dev, remy https://golang.org/cl/6622055
-
Rémy Oudompheng authored
Fixes #4200. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6619057
-
Rob Pike authored
Fixes #3872. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6612060
-
Rob Pike authored
Protects the package a little against undesirable clients. R=golang-dev, bradfitz, rsc CC=golang-dev https://golang.org/cl/6624054
-
Dave Cheney authored
func add() int { var a int a += 10 a += 20 a += 30 a -= 10 a -= 20 a -= 30 return a } before --- prog list "add" --- 0000 (/home/dfc/src/add.go:5) TEXT add+0(SB),$0-4 0001 (/home/dfc/src/add.go:6) MOVW $0,R2 0002 (/home/dfc/src/add.go:7) MOVW $10,R0 0003 (/home/dfc/src/add.go:7) ADD R0,R2,R1 0004 (/home/dfc/src/add.go:8) MOVW $20,R0 0005 (/home/dfc/src/add.go:8) ADD R0,R1 0006 (/home/dfc/src/add.go:9) MOVW $30,R0 0007 (/home/dfc/src/add.go:9) ADD R0,R1 0008 (/home/dfc/src/add.go:10) MOVW $10,R0 0009 (/home/dfc/src/add.go:10) SUB R0,R1 0010 (/home/dfc/src/add.go:11) MOVW $20,R0 0011 (/home/dfc/src/add.go:11) SUB R0,R1 0012 (/home/dfc/src/add.go:12) MOVW $30,R0 0013 (/home/dfc/src/add.go:12) SUB R0,R1,R2 0014 (/home/dfc/src/add.go:12) MOVW R2,R0 0015 (/home/dfc/src/add.go:13) MOVW R2,R1 0016 (/home/dfc/src/add.go:13) MOVW R2,.noname+0(FP) 0017 (/home/dfc/src/add.go:13) RET , after --- prog list "add" --- 0000 (/home/dfc/src/add.go:5) TEXT add+0(SB),$0-4 0001 (/home/dfc/src/add.go:6) MOVW $0,R0 0002 (/home/dfc/src/add.go:7) ADD $10,R0 0003 (/home/dfc/src/add.go:8) ADD $20,R0 0004 (/home/dfc/src/add.go:9) ADD $30,R0 0005 (/home/dfc/src/add.go:10) SUB $10,R0 0006 (/home/dfc/src/add.go:11) SUB $20,R0 0007 (/home/dfc/src/add.go:12) SUB $30,R0,R2 0008 (/home/dfc/src/add.go:13) MOVW R2,R0 0009 (/home/dfc/src/add.go:13) MOVW R2,.noname+0(FP) 0010 (/home/dfc/src/add.go:13) RET , R=rsc, minux.ma, remyoudompheng CC=golang-dev https://golang.org/cl/6584056
-
Rémy Oudompheng authored
Fixes #4197. R=golang-dev, r CC=golang-dev https://golang.org/cl/6611056
-
Dmitriy Vyukov authored
The profiler collects goroutine blocking information similar to Google Perf Tools. You may see an example of the profile (converted to svg) attached to http://code.google.com/p/go/issues/detail?id=3946 The public API changes are: +pkg runtime, func BlockProfile([]BlockProfileRecord) (int, bool) +pkg runtime, func SetBlockProfileRate(int) +pkg runtime, method (*BlockProfileRecord) Stack() []uintptr +pkg runtime, type BlockProfileRecord struct +pkg runtime, type BlockProfileRecord struct, Count int64 +pkg runtime, type BlockProfileRecord struct, Cycles int64 +pkg runtime, type BlockProfileRecord struct, embedded StackRecord R=rsc, dave, minux.ma, r CC=gobot, golang-dev, r, remyoudompheng https://golang.org/cl/6443115
-
Daniel Morsing authored
rundir will compile each file in the directory in lexicographic order, link the last file as the main package and run the resulting program. rundircmpout is an related command, that will compare the output of the program to an corresponding .out file errorcheckdir will compile each file in a directory in lexicographic order, running errorcheck on each file as it compiles. All compilations are assumed to be successful except for the last file. However, If a -0 flag is present on the command, the last compilation will also be assumed successful This CL also includes a small refactoring of run.go. It was getting unwieldy and the meaning of the run commands was hidden behind argument line formatting. Fixes #4058. R=rsc, minux.ma, remyoudompheng, iant CC=golang-dev https://golang.org/cl/6554071
-
Jan Ziak authored
R=golang-dev, minux.ma, rsc CC=golang-dev https://golang.org/cl/6621052
-
Dave Cheney authored
func addr(s[]int) *int { return &s[2] } --- prog list "addr" --- 0000 (/home/dfc/src/addr.go:5) TEXT addr+0(SB),$0-16 0001 (/home/dfc/src/addr.go:6) MOVW $s+0(FP),R0 0002 (/home/dfc/src/addr.go:6) MOVW 4(R0),R1 0003 (/home/dfc/src/addr.go:6) MOVW $2,R2 0004 (/home/dfc/src/addr.go:6) CMP R2,R1, 0005 (/home/dfc/src/addr.go:6) BHI ,7(APC) 0006 (/home/dfc/src/addr.go:6) BL ,runtime.panicindex+0(SB) 0007 (/home/dfc/src/addr.go:6) MOVW 0(R0),R0 0008 (/home/dfc/src/addr.go:6) MOVW $8,R1 0009 (/home/dfc/src/addr.go:6) ADD R1,R0 0010 (/home/dfc/src/addr.go:6) MOVW R0,.noname+12(FP) 0011 (/home/dfc/src/addr.go:6) RET , becomes --- prog list "addr" --- 0000 (/home/dfc/src/addr.go:5) TEXT addr+0(SB),$0-16 0001 (/home/dfc/src/addr.go:6) MOVW $s+0(FP),R0 0002 (/home/dfc/src/addr.go:6) MOVW 4(R0),R1 0003 (/home/dfc/src/addr.go:6) MOVW $2,R2 0004 (/home/dfc/src/addr.go:6) CMP R2,R1, 0005 (/home/dfc/src/addr.go:6) BHI ,7(APC) 0006 (/home/dfc/src/addr.go:6) BL ,runtime.panicindex+0(SB) 0007 (/home/dfc/src/addr.go:6) MOVW 0(R0),R0 0008 (/home/dfc/src/addr.go:6) ADD $8,R0 0009 (/home/dfc/src/addr.go:6) MOVW R0,.noname+12(FP) 0010 (/home/dfc/src/addr.go:6) RET , R=rsc, remyoudompheng, minux.ma CC=golang-dev https://golang.org/cl/6590056
-
- 05 Oct, 2012 8 commits
-
-
Rémy Oudompheng authored
R=golang-dev, dave, daniel.morsing, rsc CC=golang-dev, remy https://golang.org/cl/6586072
-
Dmitry Chestnykh authored
SHA-256: benchmark old ns/op new ns/op delta BenchmarkHash1K 21686 16912 -22.01% BenchmarkHash8K 173216 135020 -22.05% benchmark old MB/s new MB/s speedup BenchmarkHash1K 47.22 60.55 1.28x BenchmarkHash8K 47.29 60.67 1.28x SHA-512: benchmark old ns/op new ns/op delta BenchmarkHash1K 14323 11163 -22.06% BenchmarkHash8K 114120 88693 -22.28% benchmark old MB/s new MB/s speedup BenchmarkHash1K 71.49 91.73 1.28x BenchmarkHash8K 71.78 92.36 1.29x R=golang-dev, agl CC=golang-dev https://golang.org/cl/6584071
-
Akshat Kumar authored
The Go run-time assumes that all SSE floating-point exceptions are masked so that Go programs are not broken by such invalid operations. By default, the 64-bit version of the Plan 9 kernel masks only some SSE floating-point exceptions. Here, we mask them all on a per-thread basis. R=rsc, rminnich, minux.ma CC=golang-dev https://golang.org/cl/6592056
-
Shenghou Ma authored
so that it could work with the bundled jQuery. R=adg CC=golang-dev https://golang.org/cl/6592073
-
Robert Griesemer authored
(use floating-point rather then integer constant division) gofmt -w src misc Fixes #3965. R=r, bsiegert, 0xjnml CC=bradfitz, golang-dev https://golang.org/cl/6610051
-
Robert Griesemer authored
Also: gofmt -w src misc R=r CC=golang-dev, iant https://golang.org/cl/6591071
-
Robert Griesemer authored
The AST representation is already identical. Making the code (nearly) identical in the parser reduces code size and ensures that the ast.ValueSpec nodes have the same values (specifically, iota). This in turn permits the sharing of much of the respective code in the typechecker. While at it: type functions work now, so use them. R=r CC=golang-dev https://golang.org/cl/6624047
-
Graham Miller authored
Code for parsing email addresses was already partially part of the public API with "func (Header) AddressList". This CL adds a trivial implementation for two public methods to parse address and lists from a string. With tests. R=dsymonds CC=golang-dev https://golang.org/cl/5676067
-
- 04 Oct, 2012 8 commits
-
-
Jeff Wendling authored
Adds a DecryptBlock function which takes a password and a *pem.Block and returns the decrypted DER bytes suitable for passing into other crypto/x509 functions. R=golang-dev, agl, leterip CC=golang-dev https://golang.org/cl/6555052
-
Shenghou Ma authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/6593078
-
Andrew Gerrand authored
R=dsymonds CC=golang-dev https://golang.org/cl/6523045
-
Andrew Gerrand authored
For golang.org I intend to rewrite the jquery link in godoc.html to point to the Google-hosted jquery.js. R=dsymonds, minux.ma CC=golang-dev https://golang.org/cl/6589071
-
Shenghou Ma authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/6587074
-
Rob Pike authored
Fixes build. Makes me annoyed. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/6591074
-
Rob Pike authored
Fixes build. R=golang-dev, adg, bradfitz, dsymonds, dave CC=golang-dev https://golang.org/cl/6586074
-
Andrew Gerrand authored
R=dsymonds CC=gobot, golang-dev https://golang.org/cl/6588079
-
- 03 Oct, 2012 9 commits
-
-
Andrew Gerrand authored
R=gri CC=gobot, golang-dev https://golang.org/cl/6601054
-
Andrew Gerrand authored
R=gri CC=gobot, golang-dev https://golang.org/cl/6592061
-
Robert Griesemer authored
Also: Be explicit what operator means with respect to conversion types. The parenthesis requirement is a language change. At the moment, literal function types in conversions that cannot possibly be followed by a '(' don't need parentheses. For instance: func(int)int(x) -> same as (func(int)int)(x) func()()(x) -> same as (func())(x) but: func(int)(x) -> could be func(int)x {...} Fixes #4109. R=rsc, r, iant, ken, iant CC=golang-dev https://golang.org/cl/6584065
-
Brad Fitzpatrick authored
Fixes #4187 R=golang-dev, dave, minux.ma CC=golang-dev https://golang.org/cl/6587071
-
Andrew Gerrand authored
R=golang-dev, dsymonds, bradfitz, r CC=golang-dev https://golang.org/cl/6591066
-
Shenghou Ma authored
R=golang-dev, rsc, r CC=golang-dev https://golang.org/cl/6591051
-
Rob Pike authored
They now show the correct name, the byte offset on the line, and context for the failed evaluation. Before: template: three:7: error calling index: index out of range: 5 After: template: top:7:20: executing "three" at <index "hi" $>: error calling index: index out of range: 5 Here top is the template that was parsed to create the set, and the error appears with the action starting at byte 20 of line 7 of "top", inside the template called "three", evaluating the expression <index "hi" $>. Also fix a bug in index: it didn't work on strings. Ouch. Also fix bug in error for index: was showing type of index not slice. The real previous error was: template: three:7: error calling index: can't index item of type int The html/template package's errors can be improved by building on this; I'll do that in a separate pass. Extends the API for text/template/parse but only by addition of a field and method. The old API still works. Fixes #3188. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/6576058
-
Robert Griesemer authored
This is a backward-compatible API change. Without the correct <- position information, certain channel types have incorrect position information. R=iant, iant CC=golang-dev https://golang.org/cl/6585063
-
Shivakumar GN authored
Fixes #4113. R=golang-dev, alex.brainman CC=golang-dev https://golang.org/cl/6545054
-