Andrew Radev
c8fe9c7606
misc/vim: fix reimport guard and remove K mapping.
...
The "did_ftplugin" lines were ineffective and the "K" mapping was too
invasive, which is why it was removed.
R=golang-dev, dsymonds, minux.ma
CC=golang-dev
https://golang.org/cl/6823044
2012-10-29 22:10:59 +11:00
David Symonds
63c6b3c482
A+C: Andrey Radev (individual CLA).
...
R=golang-dev, bradfitz
CC=andrey.radev, golang-dev
https://golang.org/cl/6775067
2012-10-29 22:10:45 +11:00
David Symonds
b506c3e17a
misc/dashboard/codereview: only accept "NOT LGTM" on the first line of a message.
...
Too many people quote entire emails and put their reply at the top ("top posting"),
so we shouldn't recognise review commands anywhere in the review text.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6815048
2012-10-29 22:03:58 +11:00
Rémy Oudompheng
ee3e2ac1a6
cmd/5g: introduce componentgen for better registerization.
...
It is essentially identical to the version in 6g.
R=dave, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/6710043
2012-10-28 20:11:21 +01:00
Taj Khattra
1158c6b9c6
container/list: fix typo
...
R=golang-dev, fullung, dave, minux.ma
CC=golang-dev
https://golang.org/cl/6682046
2012-10-28 21:16:50 +11:00
Patrick Smith
3c808164ad
sort: Fixed a typo in the documentation for SearchStrings.
...
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6777066
2012-10-28 10:07:59 +11:00
Ian Lance Taylor
5611e8b59f
syscall: fix creds_test to reliably close os.File
...
Before this patch the test would close the file descriptor but
not the os.File. When the os.File was GC'ed, the finalizer
would close the file descriptor again. That would cause
problems if the same file descriptor were returned by a later
call to open in another test.
On my system:
> GOGC=30 go test
--- FAIL: TestPassFD (0.04 seconds)
passfd_test.go:62: FileConn: dup: bad file descriptor
FAIL
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6776053
2012-10-26 10:31:03 -07:00
Shenghou Ma
f9902c7197
encoding/binary: ReadVarint reads a signed number, not unsigned number
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6762051
2012-10-26 21:14:34 +08:00
Dave Cheney
067315c647
net: avoid allocation in setAddr
...
setAddr was showing up in profiles due to string concatenation construction the os.File name field. netFD.sysfile's Name() is never used, except in dup() so I believe it is safe to avoid this allocation.
R=mikioh.mikioh, rsc
CC=golang-dev
https://golang.org/cl/6742058
2012-10-26 19:41:21 +11:00
Dave Cheney
542dd8b9fb
cmd/5g: peep.c: reactivate some optimisations
...
Thanks to Minux and Remy for their advice.
The EOR optimisation is applied to a few places in the stdlib.
// hash/crc32/crc32.go
func update(crc uint32, tab *Table, p []byte) uint32 {
crc = ^crc
for _, v := range p {
crc = tab[byte(crc)^v] ^ (crc >> 8)
}
return ^crc
}
before:
--- prog list "update" ---
0164 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:101) TEXT update+0(SB),$12-24
0165 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:101) MOVW tab+4(FP),R8
0166 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:102) MOVW crc+0(FP),R0
0167 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:102) EOR $-1,R0,R5
0168 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:103) MOVW p+8(FP),R0
0169 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:103) MOVW R0,autotmp_0019+-12(SP)
after:
--- prog list "update" ---
0164 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:101) TEXT update+0(SB),$12-24
0165 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:101) MOVW tab+4(FP),R8
0166 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:102) MOVW crc+0(FP),R0
0167 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:102) MVN R0,R5
0168 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:103) MOVW p+8(FP),R0
0169 (/home/dfc/go/src/pkg/hash/crc32/crc32.go:103) MOVW R0,autotmp_0019+-12(SP)
After 5l has done its work,
crc = ^crc
3d710: e59d0014 ldr r0, [sp, #20 ]
3d714: e3e0b000 mvn fp, #0
3d718: e020500b eor r5, r0, fp
becomes
crc = ^crc
3d710: e59d0014 ldr r0, [sp, #20 ]
3d714: e1e05000 mvn r5, r0
The MOVB optimisation has a small impact on the stdlib, in strconv
and gzip.
// GZIP (RFC 1952) is little-endian, unlike ZLIB (RFC 1950).
func put2(p []byte, v uint16) {
p[0] = uint8(v >> 0)
p[1] = uint8(v >> 8)
}
before:
--- prog list "put2" ---
1369 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:76) TEXT put2+0(SB),$0-16
1370 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:76) MOVHU v+12(FP),R4
1371 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVHU R4,R0
1372 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVHU R0,R0
1373 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVBU R0,R1
1374 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVBU R1,R3
1375 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVW $p+0(FP),R1
after:
--- prog list "put2" ---
1369 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:76) TEXT put2+0(SB),$0-16
1370 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:76) MOVHU v+12(FP),R4
1371 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVHU R4,R0
1372 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVBU R0,R1
1373 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVBU R1,R3
1374 (/home/dfc/go/src/pkg/compress/gzip/gzip.go:77) MOVW $p+0(FP),R1
R=remyoudompheng, rsc, minux.ma
CC=golang-dev
https://golang.org/cl/6674048
2012-10-26 18:19:10 +11:00
Rémy Oudompheng
38070a72c5
reflect: stop thinking that MaxFloat32 overflows float32.
...
Fixes #4282 .
R=golang-dev, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/6759052
2012-10-26 08:39:36 +02:00
Dmitriy Vyukov
320df44f04
runtime: switch to 64-bit goroutine ids
...
Fixes #4275 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6759053
2012-10-26 10:13:06 +04:00
Rémy Oudompheng
335eef85c3
cmd/6g: fix crash in cgen_bmul.
...
Used to print:
../test/torture.go:116: internal compiler error: bad width: 0463 (../test/torture.go:116) MOVB ,BX (0, 8)
R=nigeltao, rsc
CC=golang-dev
https://golang.org/cl/6736068
2012-10-26 00:29:44 +02:00
Marcel van Lohuizen
b575e3ca99
exp/locale/collate: slightly changed collation elements:
...
- Allow secondary values below the default value in second form. This is
to support before tags for secondary values, as used by Chinese.
- Eliminate collation elements that are guaranteed to be immaterial
after a weight increment.
R=r
CC=golang-dev
https://golang.org/cl/6739051
2012-10-25 13:02:31 +02:00
Shenghou Ma
7c412e962c
syscall: implement (*PtraceRegs).PC() and SetPC()
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6763043
2012-10-25 13:41:04 +08:00
Andrew Gerrand
438ed18202
doc: remove misplaced articles from references page
...
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6743059
2012-10-25 11:05:42 +11:00
Marcel van Lohuizen
6653d76ef6
exp/locale/collate/build: fixed problem where blocks for first byte need
...
different indexes for values and index blocks. Fixes many regressions.
R=r
CC=golang-dev
https://golang.org/cl/6737057
2012-10-24 11:41:05 +02:00
Marcel van Lohuizen
34f2050626
exp/locale/collate: clarification in comments on use of returned value.
...
R=r
CC=golang-dev
https://golang.org/cl/6752043
2012-10-24 11:40:32 +02:00
Marcel van Lohuizen
a35f23f34e
exp/locale/collate/tools/colcmp: add locale to output of regression failure.
...
R=r
CC=golang-dev
https://golang.org/cl/6749058
2012-10-24 11:28:18 +02:00
Russ Cox
80dbe74360
cmd/gc, cmd/ld: use go.weak instead of weak as the weak symbol prefix
...
Also defend our symbol prefixes (now just "go" and "type")
from use as import paths.
Fixes #4257 .
R=ken2
CC=golang-dev
https://golang.org/cl/6744072
2012-10-23 11:16:08 -04:00
Shenghou Ma
7c44edf425
runtime, runtime/race: add missing if(raceenabled), update package docs of pkg race
...
R=dvyukov
CC=golang-dev
https://golang.org/cl/6733058
2012-10-23 02:33:51 +08:00
Robert Griesemer
7c03cd32b6
exp/type/staging: implemented recent spec changes
...
Also:
- type-checking receivers
- get rid of some multiple errors at the same position
R=rsc, minux.ma
CC=golang-dev
https://golang.org/cl/6709061
2012-10-22 11:28:21 -07:00
Daniel Morsing
48af64b295
cmd/gc: Mark use of builtin functions as calls.
...
Fixes #4097 .
R=rsc
CC=golang-dev, gri
https://golang.org/cl/6749059
2012-10-22 19:14:30 +02:00
Shenghou Ma
3dbbb6eb4c
cmd/5l, cmd/6l, cmd/8l: put floating point numbers in .rodata section
...
R=golang-dev, rsc
CC=0xe2.0x9a.0x9b, golang-dev
https://golang.org/cl/6742063
2012-10-23 00:59:53 +08:00
Luuk van Dijk
75692424d2
cmd/gc: escape analysis to track flow of in to out parameters.
...
includes step 0: synthesize outparams, from 6600044
step 1: give outparams loopdepth 0 and verify unchanged results
step 2: generate esc:$mask tags, but still tie to sink if a param has mask != 0
next step: use in esccall (and ORETURN with implicit OAS2FUNC) to avoid tying to sink
R=rsc
CC=golang-dev
https://golang.org/cl/6610054
2012-10-22 10:18:17 +02:00
Luuk van Dijk
976ca1a47d
cmd/gc: track parameter flow, step 0: synthesize name nodes for anonymous PPARAMOUTs without breaking anything.
...
further work on parameter flow tracking for escape analysis depends on this.
R=rsc
CC=golang-dev
https://golang.org/cl/6600044
2012-10-22 10:09:52 +02:00
Luuk van Dijk
e7f89fcb1c
cmd/gc: fix strict tree property for AST for OAS2RECV nodes.
...
in typecheck and walk, conversion from OAS2RECV to OAS2
and to OSELRECV2 duplicated the ->rlist->n to ->right
thereby destroying the strict tree-ness of the AST (up to
ONAMES) of course. Several recursions in esc.c and inl.c
and probably elsewhere assume nodes of the tree aren't duplicated.
rather than defensively code around this, i'd rather assert
these cases away and fix their cause.
(this was tripped in 6741044)
R=rsc
CC=golang-dev
https://golang.org/cl/6750043
2012-10-22 10:01:14 +02:00
Roger Peppe
9714691a3f
cmd/go: add join template function.
...
It's common to use the go list command in shell scripts, but
currently it's awkward to print a string slice from the Package
type in a way that's easily parseable by the shell. For example:
go list -f '{{range .Deps}}{{.}}
{{end}}'
(and even that prints an unwanted new line at the end|).
To make this easier, this CL adds a "join" function to the
format template.
go list -f '{{join .Deps "\n"}}'
R=rsc, dsymonds, minux.ma, remyoudompheng, r
CC=golang-dev
https://golang.org/cl/6680044
2012-10-22 08:58:27 +01:00
Rémy Oudompheng
319131f295
cmd/gc: fix inlining bug for composite literals in if statements.
...
Fixes #4230 .
R=golang-dev, rsc
CC=golang-dev, remy
https://golang.org/cl/6640056
2012-10-22 08:38:23 +02:00
Shenghou Ma
77e42e2108
lib9, cmd/dist, cmd/5l: embed GOARM into cmd/5l and auto detect GOARM
...
R=rsc, dave
CC=golang-dev
https://golang.org/cl/6638043
2012-10-22 14:26:36 +08:00
Nigel Tao
eb7d56965b
os: fix documentation typos: s/an array/a slice/.
...
R=dsymonds
CC=golang-dev
https://golang.org/cl/6736057
2012-10-22 16:26:47 +11:00
Patrick Smith
2e67dd861d
encoding/xml: expand allowed entity names
...
Previously, multi-byte characters were not allowed. Also certain single-byte
characters, such as '-', were disallowed.
Fixes #3813 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6641052
2012-10-21 20:33:24 -04:00
Jingcheng Zhang
5d05c7800e
runtime: sizeclass in MSpan should be int32.
...
R=golang-dev, minux.ma, dave, rsc
CC=golang-dev
https://golang.org/cl/6643046
2012-10-21 20:32:43 -04:00
Russ Cox
0cfbb64c43
A+C: Jingcheng Zhang and Patrick Smith (individual CLA x2)
...
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6749055
2012-10-21 20:32:35 -04:00
Nigel Tao
80c4eac637
go/build: document the behavior of multiple build constraints.
...
R=rsc, pkleiweg
CC=golang-dev
https://golang.org/cl/6725052
2012-10-22 11:15:17 +11:00
Andrew Gerrand
ee7680104f
A+C: Richard Eric Gavaletz (individual CLA)
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6734055
2012-10-22 09:21:57 +11:00
Jan Ziak
4a191c2c1b
runtime: store types of allocated objects
...
R=rsc
CC=golang-dev
https://golang.org/cl/6569057
2012-10-21 17:41:32 -04:00
Mikio Hara
4545dc6a69
net: add test for Conn, PacketConn and Listener
...
I just realized that there is no good place for adding
exposed function or method tests because server, unicast
and multicast_test.go do test complicated multiple test
objects, platform behaviros, protocol behaviors and API,
at the same time. Perhaps splitting them into per test
object might be better, so this CL provides tests focused
on API.
R=rsc
CC=gobot, golang-dev
https://golang.org/cl/6501057
2012-10-21 17:17:51 -04:00
Russ Cox
922c0b4755
cmd/gc: rebuild builtin.c
...
Was not in sync with runtime.go, but the diffs
didn't really matter, so nothing broke.
R=ken2
CC=golang-dev
https://golang.org/cl/6733057
2012-10-21 17:15:56 -04:00
Lucio De Re
1e4515a323
build: u.h for plan9 arm
...
R=golang-dev, minux.ma, ality
CC=golang-dev
https://golang.org/cl/6743052
2012-10-21 17:04:07 -04:00
Evan Shaw
772decbc80
reflect: make Index and Slice accept strings
...
Fixes #3284 .
R=golang-dev, r, rsc
CC=golang-dev
https://golang.org/cl/6643043
2012-10-21 17:02:10 -04:00
Daniel Morsing
d7a3407e3d
cmd/gc: fix confusing error when using variable as type.
...
Fixes #3783 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6737053
2012-10-21 20:50:31 +02:00
Daniel Morsing
a7a3fe7238
cmd/gc: Friendlier errors on oversized arrays.
...
Someone new to the language may not know the connection between ints and arrays, which was the only thing that the previous error told you anything about.
Fixes #4256 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6739048
2012-10-21 19:22:51 +02:00
Shenghou Ma
c1b7ddc6aa
runtime: update docs for MemStats.PauseNs
...
PauseNs is a circular buffer of recent pause times, and the
most recent one is at [((NumGC-1)+256)%256].
Also fix comments cross-linking the Go and C definition of
various structs.
R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/6657047
2012-10-22 01:08:13 +08:00
Shenghou Ma
3d00648dc1
gophertool: fix links
...
R=bradfitz
CC=golang-dev
https://golang.org/cl/6713043
2012-10-22 01:05:21 +08:00
Adam Langley
0ae408eb72
A+C: add Willem van der Schyff (Individual CLA).
...
R=golang-dev, bradfitz, dave
CC=golang-dev
https://golang.org/cl/6733047
2012-10-21 14:20:17 +11:00
Shenghou Ma
6a3ad481cd
cmd/go: make package list order predicable
...
also add a cleanup phase to cmd/go/test.bash.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6741050
2012-10-20 17:25:13 +08:00
Shenghou Ma
bcdb7926dd
codereview: protect against read-only upstream repository
...
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6742053
2012-10-20 17:23:48 +08:00
Shenghou Ma
3e3fa7b5f1
runtime: ~3.7x speed up of div/mod on ARM
...
benchmark old ns/op new ns/op delta
BenchmarkUint32Div7 281 75 -73.06%
BenchmarkUint32Div37 281 75 -73.02%
BenchmarkUint32Div123 281 75 -73.02%
BenchmarkUint32Div763 280 75 -72.89%
BenchmarkUint32Div1247 280 75 -72.93%
BenchmarkUint32Div9305 281 75 -73.02%
BenchmarkUint32Div13307 281 75 -73.06%
BenchmarkUint32Div52513 281 75 -72.99%
BenchmarkUint32Div60978747 281 63 -77.33%
BenchmarkUint32Div106956295 280 63 -77.21%
BenchmarkUint32Mod7 280 77 -72.21%
BenchmarkUint32Mod37 280 77 -72.18%
BenchmarkUint32Mod123 280 77 -72.25%
BenchmarkUint32Mod763 280 77 -72.18%
BenchmarkUint32Mod1247 280 77 -72.21%
BenchmarkUint32Mod9305 280 77 -72.21%
BenchmarkUint32Mod13307 280 77 -72.25%
BenchmarkUint32Mod52513 280 77 -72.18%
BenchmarkUint32Mod60978747 280 63 -77.25%
BenchmarkUint32Mod106956295 280 63 -77.21%
R=dave, rsc
CC=dave, golang-dev, rsc
https://golang.org/cl/6717043
2012-10-20 16:40:19 +08:00
Nigel Tao
0ba5ec53b0
bufio: remove a little unnecessary indirection in tests.
...
R=mchaten, r
CC=golang-dev
https://golang.org/cl/6739045
2012-10-20 13:02:29 +11:00