Shenghou Ma
35e1deaebf
cmd/5l: use BLX for BL (Rx).
...
Fixes #5111 .
Update #4718
This CL makes BL (Rx) to use BLX Rx instead of:
MOV LR, PC
MOV PC, Rx
R=cshapiro, rsc
CC=dave, gobot, golang-dev
https://golang.org/cl/9669045
2013-06-11 03:04:24 +08:00
Dmitriy Vyukov
fd41926347
runtime: fix one-time memory leak on linux
...
Update #5641 .
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/10144043
2013-06-10 22:59:39 +04:00
Dmitriy Vyukov
62747bde6c
runtime: catch races between channel close and channel send in select
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/10137043
2013-06-10 22:58:04 +04:00
Shenghou Ma
06f55f5009
net: introduce netgo build tag to build a pure Go net package.
...
Fixes #4078 .
R=golang-dev, bradfitz, rsc, iant
CC=golang-dev
https://golang.org/cl/7100050
2013-06-11 02:55:16 +08:00
Shenghou Ma
b637135003
cmd/cgo: makes clang happy by not using __gcc_struct__ attribute.
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/10150043
2013-06-11 02:51:01 +08:00
Shenghou Ma
46e30c7d70
syscall: add {Set,Get}priority for Linux, and consistency tests
...
R=golang-dev, iant, bradfitz, dave
CC=golang-dev
https://golang.org/cl/7430044
2013-06-11 02:47:04 +08:00
Dmitriy Vyukov
fc80764792
runtime/race: tell race detector what memory Read/Write syscalls touch
...
Fixes #5567 .
R=golang-dev, dave, iant
CC=golang-dev
https://golang.org/cl/10085043
2013-06-10 22:40:35 +04:00
Dmitriy Vyukov
0f4897ae1a
sync: improve race instrumentation of WaitGroup
...
Do not synchronize Add(1) with Wait().
Imitate read on first Add(1) and write on Wait(),
it allows to catch common misuses of WaitGroup:
- Add() called in the additional goroutine itself
- incorrect reuse of WaitGroup with multiple waiters
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/10093044
2013-06-10 22:38:58 +04:00
Shenghou Ma
ed6dce6f9d
cmd/5l: use guaranteed undefined instruction for UNDEF to match [68]l.
...
R=golang-dev, dave, rsc
CC=golang-dev
https://golang.org/cl/10085050
2013-06-11 02:02:42 +08:00
Alex Brainman
bb6e265fed
os: return io.EOF from windows ReadAt as documented
...
Fixes #5619 .
R=golang-dev, r, peter.armitage, go.peter.90
CC=golang-dev
https://golang.org/cl/9952044
2013-06-10 19:14:41 +10:00
Dmitriy Vyukov
4f514e8691
runtime: use persistentalloc instead of SysAlloc in FixAlloc
...
Also reduce FixAlloc allocation granulatiry from 128k to 16k,
small programs do not need that much memory for MCache's and MSpan's.
R=golang-dev, khr
CC=golang-dev
https://golang.org/cl/10140044
2013-06-10 09:20:27 +04:00
Dmitriy Vyukov
83445fdcc3
runtime: use persistentalloc instead of mallocgc in symtab
...
Reduces heap size.
R=golang-dev, khr
CC=golang-dev
https://golang.org/cl/10140043
2013-06-10 09:17:46 +04:00
Dmitriy Vyukov
99922aba8b
runtime: use persistentalloc instead of SysAlloc in GC
...
Especially important for Windows because it reserves VM
only in multiple of 64k.
R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/10082048
2013-06-10 09:16:06 +04:00
Dmitriy Vyukov
b36f2db12a
runtime: use persistentalloc instead of mallocgc for itab
...
Reduces heap size.
R=golang-dev, remyoudompheng, bradfitz
CC=golang-dev
https://golang.org/cl/10139043
2013-06-09 21:58:35 +04:00
Dmitriy Vyukov
5290e55164
runtime: use persistentalloc instead of SysAlloc in netpoll
...
Especially important for Windows because it reserves VM
only in multiple of 64k.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/10138043
2013-06-09 21:39:47 +04:00
Dmitriy Vyukov
8cf7044983
runtime: use persistentalloc instead of custom malloc in memory profiler
...
Removes code duplication.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/9874055
2013-06-09 21:38:37 +04:00
Shenghou Ma
949228a322
cmd/cgo: use gcc_struct attribute for packed structs to work around GCC PR52991.
...
Fixes #5603 .
R=iant, dave
CC=gobot, golang-dev
https://golang.org/cl/9895043
2013-06-09 22:06:29 +08:00
Shenghou Ma
e880ab112e
runtime: remove unused file mkversion.c
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/10107044
2013-06-09 22:04:17 +08:00
Shenghou Ma
faef52c214
all: fix typos
...
R=golang-dev, bradfitz, khr, r
CC=golang-dev
https://golang.org/cl/7461046
2013-06-09 21:50:24 +08:00
Roger Peppe
822da40814
cmd/go: update go vet documentation
...
R=rsc, minux.ma, r
CC=golang-dev
https://golang.org/cl/10110043
2013-06-07 19:01:07 +01:00
Ian Lance Taylor
b6e52ecffa
runtime: remove unused mid function
...
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/10036047
2013-06-06 18:10:42 -07:00
Dmitriy Vyukov
8bf57c3dcb
runtime: remove unused field from Hchan
...
Remove alignment logic as well, it's not respected by chanbuf() anyway.
R=golang-dev, dave, minux.ma, r, iant, rsc
CC=golang-dev
https://golang.org/cl/9678046
2013-06-06 23:06:12 +04:00
Dmitriy Vyukov
5d637b83a9
runtime: speedup malloc stats collection
...
Count only number of frees, everything else is derivable
and does not need to be counted on every malloc.
benchmark old ns/op new ns/op delta
BenchmarkMalloc8 68 66 -3.07%
BenchmarkMalloc16 75 70 -6.48%
BenchmarkMallocTypeInfo8 102 97 -4.80%
BenchmarkMallocTypeInfo16 108 105 -2.78%
R=golang-dev, dave, rsc
CC=golang-dev
https://golang.org/cl/9776043
2013-06-06 14:56:50 +04:00
Alex Brainman
07ea243d50
time: provide timezone abbreviations on windows
...
Use http://unicode.org/cldr/data/common/supplemental/windowsZones.xml
to generate the map.
Fixes #4838 .
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/9997043
2013-06-06 16:30:25 +10:00
Robert Obryk
9614119007
io/ioutil: make WriteFile notice errors from Close()
...
WriteFile should not successfully return if the file's
Close call failed.
Fixes #5644 .
R=golang-dev, kr, r
CC=golang-dev
https://golang.org/cl/10067043
2013-06-05 21:16:44 -07:00
Russ Cox
f268c295a3
cmd/6c: use full 64-bit address in block copy
...
Already fixed independently in Plan 9.
R=ken2
CC=golang-dev
https://golang.org/cl/10041044
2013-06-05 10:39:06 -04:00
Russ Cox
26d43a0f22
cmd/6l: accept NOP of $x+10(SP) and of X0
...
Needed to link code compiled with 6c -N.
R=ken2
CC=golang-dev
https://golang.org/cl/10043044
2013-06-05 10:38:52 -04:00
Russ Cox
528534c1d4
runtime: fix comments (g->gobuf became g->sched long ago)
...
Should reduce size of CL 9868044.
R=golang-dev, ality
CC=golang-dev
https://golang.org/cl/10045043
2013-06-05 07:16:53 -04:00
Russ Cox
f032eefdb0
cmd/cgo, cmd/go, go/build: sort flag lists
...
CFLAGS comes before CPPFLAGS.
Also fix one typo CPPCFLAGS.
Cleanup for CL 8248043.
R=golang-dev, iant, alberto.garcia.hierro
CC=golang-dev
https://golang.org/cl/9965045
2013-06-05 07:14:05 -04:00
Anthony Martin
5567592c07
mime: add support for Plan 9
...
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/10028043
2013-06-04 17:30:45 -07:00
Nigel Tao
427bec62b5
image/jpeg: avoid documentation argument over whether it's luma
...
subsampling or chroma subsampling.
Fixes #5569 .
R=r
CC=golang-dev
https://golang.org/cl/9900044
2013-06-05 10:18:06 +10:00
Anthony Martin
cdfbe00d91
runtime: fix description of SysAlloc
...
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/10010046
2013-06-04 17:12:29 -07:00
Adam Langley
2112fed743
crypto/tls: support TLS 1.1.
...
The significant change between TLS 1.0 and 1.1 is the addition of an explicit IV in the case of CBC encrypted records. Support for TLS 1.1 is needed in order to support TLS 1.2.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7880043
2013-06-04 20:02:22 -04:00
Adam Langley
eec014de66
encoding/asn1: harmonise error prefixes.
...
This change ensures that error messages always start with "asn1: ".
R=golang-dev, gedimitr
CC=golang-dev
https://golang.org/cl/9751043
2013-06-04 19:51:26 -04:00
Anthony Martin
781b2a2519
cmd/cc: support 21-bit runes in wide string constants
...
Changeset 7557a627e9b5 added a temporary stop-gap to silence
a print format warning for %S. This has been reverted.
None of this code is original. It was copied from the latest
Plan 9 compilers.
R=golang-dev, r, rsc
CC=golang-dev
https://golang.org/cl/8630044
2013-06-04 16:30:55 -07:00
Carl Shapiro
acd887ba57
cmd/5g, cmd/6g, cmd/8g: remove prototypes for proglist
...
Each of the backends has two prototypes for this function but
no corresponding definition.
R=golang-dev, bradfitz, khr
CC=golang-dev
https://golang.org/cl/9930045
2013-06-04 16:22:59 -07:00
Anthony Martin
2449909d81
cmd/5c, cmd/6c, cmd/8c: isolate textflag and dataflag
...
Fixes #5419 .
R=golang-dev, dave, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/9241044
2013-06-04 15:18:02 -07:00
Anthony Martin
251baea1af
cmd/ld: fix gcdata and gcbss symbols
...
These two symbols don't show up in the Go symbol table
since they're defined in dodata which is called sometime
after symtab. They do, however, show up in the ELF symbol
table.
This regression was introduced in changeset 01c40d533367.
Also, remove the corresponding strings from the ELF strtab
section now that they're unused.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/8650043
2013-06-04 07:07:22 -07:00
Ian Lance Taylor
941db1ed39
encoding/gob: consistently use unsafe.Pointer for pointer values
...
Fixes #5621 .
R=golang-dev, cshapiro, r, fullung
CC=golang-dev
https://golang.org/cl/9988043
2013-06-04 06:20:57 -07:00
Rémy Oudompheng
2c0b00744f
cmd/6c, cmd/8c: avoid generating long multiplication when not necessary.
...
On amd64
benchmark old ns/op new ns/op delta
BenchmarkHashStringSpeed 91 74 -18.49%
BenchmarkHashInt32Speed 54 45 -17.88%
BenchmarkHashInt64Speed 76 58 -23.53%
BenchmarkHashStringArraySpeed 231 188 -18.61%
Fixes #5367 .
R=golang-dev, iant, dave, daniel.morsing, ality, rsc
CC=golang-dev
https://golang.org/cl/9040043
2013-06-04 08:33:00 +02:00
Rémy Oudompheng
62891fb811
cmd/gc: fix missing slice/array types in export data.
...
Fixes #5614 .
R=golang-dev
CC=golang-dev
https://golang.org/cl/9953044
2013-06-04 08:18:36 +02:00
Alex Brainman
9bc0eaf60e
runtime: update defs_windows_*.h files
...
New version of cmd/cgo from
https://golang.org/cl/9574043/
is used to regenerate these.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9679046
2013-06-04 12:50:40 +10:00
Russ Cox
fa4a9ff764
cmd/ld, runtime: clean up CL 9666047
...
Remove unnecessary ( ) around == in && clause.
Add { } around multiline if body, even though it's one statement.
Add runtime: prefix to printed errors.
R=cshapiro, iant
CC=golang-dev
https://golang.org/cl/9685047
2013-06-03 16:44:35 -04:00
Rob Pike
59fb90ac85
cmd/go: document flag passing for tests
...
Fixes #5566 .
R=rsc
CC=gobot, golang-dev
https://golang.org/cl/9882043
2013-06-03 16:39:42 -04:00
Rémy Oudompheng
394706b646
compress/bzip2: faster decoding.
...
benchmark old ns/op new ns/op delta
BenchmarkDecodeDigits 19451173 14347829 -26.24%
BenchmarkDecodeTwain 57516800 42619978 -25.90%
benchmark old MB/s new MB/s speedup
BenchmarkDecodeDigits 2.22 3.01 1.36x
BenchmarkDecodeTwain 2.17 2.93 1.35x
R=golang-dev, dave, bradfitz, agl
CC=golang-dev
https://golang.org/cl/9915043
2013-06-03 20:38:00 +02:00
Dmitriy Vyukov
4a8ef1f65d
runtime: disable preemption in several scheduler functions
...
Required for preemptive scheduler, see the comments for details.
R=golang-dev, khr, iant, khr
CC=golang-dev
https://golang.org/cl/9740051
2013-06-03 14:40:38 +04:00
Dmitriy Vyukov
354ec51666
runtime: introduce preemption function (not used for now)
...
This is part of preemptive scheduler.
R=golang-dev, cshapiro, iant
CC=golang-dev
https://golang.org/cl/9843046
2013-06-03 13:20:17 +04:00
Dmitriy Vyukov
f5becf4233
runtime: add stackguard0 to G
...
This is part of preemptive scheduler.
stackguard0 is checked in split stack checks and can be set to StackPreempt.
stackguard is not set to StackPreempt (holds the original value).
R=golang-dev, daniel.morsing, iant
CC=golang-dev
https://golang.org/cl/9875043
2013-06-03 12:28:24 +04:00
Rémy Oudompheng
0d0d57ccfe
cmd/gc: do not corrupt init() with initializers of _ in closures.
...
Fixes #5607 .
R=golang-dev, daniel.morsing, r, dsymonds
CC=golang-dev
https://golang.org/cl/9952043
2013-06-02 23:54:34 +02:00
Shenghou Ma
5b097e7951
cmd/cgo: using __typeof__(a->r) instead of putting invalid TYPE in "a->r = (const TYPE)"
...
Thanks kballard for the hint.
Fixes #4857 .
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9649045
2013-06-02 22:46:53 +08:00