Russ Cox
353ee32f88
doc: document archive/tar changes
...
Fixes #13647 .
Change-Id: I28df7ade9b5abd79ce6b9c3d14ceaa988e86fc01
Reviewed-on: https://go-review.googlesource.com/18642
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-01-14 03:08:30 +00:00
Russ Cox
1ac637c766
cmd/compile: recognize Syscall-like functions for liveness analysis
...
Consider this code:
func f(*int)
func g() {
p := new(int)
f(p)
}
where f is an assembly function.
In general liveness analysis assumes that during the call to f, p is dead
in this frame. If f has retained p, p will be found alive in f's frame and keep
the new(int) from being garbage collected. This is all correct and works.
We use the Go func declaration for f to give the assembly function
liveness information (the arguments are assumed live for the entire call).
Now consider this code:
func h1() {
p := new(int)
syscall.Syscall(1, 2, 3, uintptr(unsafe.Pointer(p)))
}
Here syscall.Syscall is taking the place of f, but because its arguments
are uintptr, the liveness analysis and the garbage collector ignore them.
Since p is no longer live in h once the call starts, if the garbage collector
scans the stack while the system call is blocked, it will find no reference
to the new(int) and reclaim it. If the kernel is going to write to *p once
the call finishes, reclaiming the memory is a mistake.
We can't change the arguments or the liveness information for
syscall.Syscall itself, both for compatibility and because sometimes the
arguments really are integers, and the garbage collector will get quite upset
if it finds an integer where it expects a pointer. The problem is that
these arguments are fundamentally untyped.
The solution we have taken in the syscall package's wrappers in past
releases is to insert a call to a dummy function named "use", to make
it look like the argument is live during the call to syscall.Syscall:
func h2() {
p := new(int)
syscall.Syscall(1, 2, 3, uintptr(unsafe.Pointer(p)))
use(unsafe.Pointer(p))
}
Keeping p alive during the call means that if the garbage collector
scans the stack during the system call now, it will find the reference to p.
Unfortunately, this approach is not available to users outside syscall,
because 'use' is unexported, and people also have to realize they need
to use it and do so. There is much existing code using syscall.Syscall
without a 'use'-like function. That code will fail very occasionally in
mysterious ways (see #13372 ).
This CL fixes all that existing code by making the compiler do the right
thing automatically, without any code modifications. That is, it takes h1
above, which is incorrect code today, and makes it correct code.
Specifically, if the compiler sees a foreign func definition (one
without a body) that has uintptr arguments, it marks those arguments
as "unsafe uintptrs". If it later sees the function being called
with uintptr(unsafe.Pointer(x)) as an argument, it arranges to mark x
as having escaped, and it makes sure to hold x in a live temporary
variable until the call returns, so that the garbage collector cannot
reclaim whatever heap memory x points to.
For now I am leaving the explicit calls to use in package syscall,
but they can be removed early in a future cycle (likely Go 1.7).
The rule has no effect on escape analysis, only on liveness analysis.
Fixes #13372 .
Change-Id: I2addb83f70d08db08c64d394f9d06ff0a063c500
Reviewed-on: https://go-review.googlesource.com/18584
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-01-14 01:16:45 +00:00
Russ Cox
4525571f7e
doc: document Go 1.5.3
...
Change-Id: I9b4b76abfba66ff655aef55b43d9b4721aba604a
Reviewed-on: https://go-review.googlesource.com/18587
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2016-01-13 17:48:41 +00:00
Andrew Gerrand
1abb863d83
doc: add Overview and other small edits to How To Write Go Code
...
Fixes #9228
Change-Id: Ic4df4a39f6f363bdd6eb9228c8164e6e9dccee1b
Reviewed-on: https://go-review.googlesource.com/5561
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
2016-01-12 01:56:04 +00:00
Adam Langley
109d54a32d
doc: note GCM behaviour change in Go 1.6.
...
This change documents the behaviour change caused by
https://go-review.googlesource.com/18480 in Go 1.6.
Updates #13886
Change-Id: I2daa08a62775bbc209f0f4cbeae21b8184ce7609
Reviewed-on: https://go-review.googlesource.com/18481
Reviewed-by: Russ Cox <rsc@golang.org>
2016-01-10 19:03:54 +00:00
Russ Cox
20d745c57c
encoding/base64: fix streaming decode of padding-free base64
...
Fixes #13384 .
Change-Id: Id9e827acddc8de139f93c5de0c6486bc4334c7d4
Reviewed-on: https://go-review.googlesource.com/18330
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-01-08 15:07:45 +00:00
Russ Cox
f962fc0820
doc: mention that Go no longer calls timeBeginPeriod(1) on Windows
...
Fixes #13731 .
Change-Id: Iaf70a8b41c947f0d86013808564112ab676136e3
Reviewed-on: https://go-review.googlesource.com/18345
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2016-01-07 04:16:14 +00:00
Michael Hudson-Doyle
b00105d878
doc: update 1.6 release notes with buildmode progress
...
Fixes #13358
Change-Id: I57ed50c2610cab11fb3d9749f9e7d4a37daa7977
Reviewed-on: https://go-review.googlesource.com/18276
Reviewed-by: Russ Cox <rsc@golang.org>
2016-01-07 04:15:08 +00:00
Russ Cox
73ba846c6a
doc: remove note about installing from source for ARM
...
Now there are ARM downloads too.
Change-Id: I236381508c69d56748e672d184b92caa715e81ae
Reviewed-on: https://go-review.googlesource.com/18342
Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-01-07 04:12:01 +00:00
Andrew Gerrand
e9fc522100
doc: show relevant test instructions on install page
...
Fixes golang/go#12490
Change-Id: I0861e62aaa589fc63217c83e9c227c17e35cda75
Reviewed-on: https://go-review.googlesource.com/18277
Reviewed-by: Russ Cox <rsc@golang.org>
2016-01-07 01:41:19 +00:00
Ian Lance Taylor
bd7086996c
doc: fix incorrect example in asm.html
...
Fixes #13845 .
Change-Id: Ie83179b2d20c47a0296645d9e2fdc43271be495a
Reviewed-on: https://go-review.googlesource.com/18307
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-01-06 23:17:25 +00:00
Russ Cox
fc1793dde9
doc: document release support policy
...
Fixes #12790 .
Change-Id: I0f231d198c76632c23692fc1337b57cfeafaf4c7
Reviewed-on: https://go-review.googlesource.com/18338
Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-01-06 22:07:13 +00:00
Russ Cox
d02193c628
doc: document linux/ppc64 kernel requirement (2.6.37 or later)
...
Fixes #13269 .
Change-Id: I960d1825bda9d8873c2a9005872c45e4c7d30111
Reviewed-on: https://go-review.googlesource.com/18339
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-01-06 22:06:36 +00:00
Russ Cox
6e28bf3795
doc: fix source link in gdb docs
...
Fixes #12059 .
Change-Id: Ib5caf8133cd3ed888f9102dfbfeca11c506f3b5b
Reviewed-on: https://go-review.googlesource.com/18337
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-01-06 21:58:19 +00:00
Russ Cox
19e27c731b
doc: discuss copyright changes in contribute.html
...
Fixes #12542 .
Change-Id: Icd0fa84d891d6b1feab9b4d4dd319cdf1e6d6c48
Reviewed-on: https://go-review.googlesource.com/18336
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-01-06 21:50:20 +00:00
Russ Cox
4391aca850
doc/play: update URL for concurrent pi
...
The old link died; replace with an archive.org copy.
Fixes #13345 .
Change-Id: Ic4a7fdcf258e1ff3b4a02ecb4f237ae7db2686c7
Reviewed-on: https://go-review.googlesource.com/18335
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-01-06 20:23:21 +00:00
Brad Fitzpatrick
ed52e552aa
doc: note the net/http CloseNotifier changes in go1.6.html
...
Also reference the new Transport.ExpectContinueTimeout after the
mention of 100-continue.
Fixes #13721
Change-Id: I3445c011ed20f29128092c801c7a4bb4dd2b8351
Reviewed-on: https://go-review.googlesource.com/18281
Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-01-06 04:31:30 +00:00
Ian Lance Taylor
2a75662521
doc: mention new SIGPIPE behavior in 1.6 release notes
...
Update #11845 .
Change-Id: I1c248dc48abc62e51836b9ba50d6deb89706c730
Reviewed-on: https://go-review.googlesource.com/18226
Reviewed-by: Russ Cox <rsc@golang.org>
2016-01-06 04:05:40 +00:00
Robert Griesemer
212bdd95e0
spec: New year, new spec update (to refer to Unicode 8.0).
...
Slightly rephrased sentence to emphasize the contents of the
Unicode categories w/o repeating the full category name each
time.
Fixes #13414 .
Change-Id: Icd32ff1547fa81e866c5937a631c3344bb6087c6
Reviewed-on: https://go-review.googlesource.com/18265
Reviewed-by: Rob Pike <r@golang.org>
2016-01-05 22:39:26 +00:00
Benny Siegert
e2093cdeef
doc: fix typo in install-source.html.
...
Change-Id: I6ea7339ff9412111319e46f2962c6b3880987a1e
Reviewed-on: https://go-review.googlesource.com/18174
Reviewed-by: Minux Ma <minux@golang.org>
2016-01-03 20:52:07 +00:00
Shenghou Ma
ca9876dd2f
doc: fix typo
...
Fixes #13780 .
Change-Id: I629e2ba79b74d693e04c3747812c9a686cae5335
Reviewed-on: https://go-review.googlesource.com/18218
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-01-01 05:00:12 +00:00
David Symonds
043ae50feb
doc: 2016 is the Year of the Gopher.
...
Change-Id: I85caba8c743dcd82954de75df947053b3d206bdc
Reviewed-on: https://go-review.googlesource.com/18117
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2015-12-31 13:11:06 +00:00
Brad Fitzpatrick
32cf985d1a
doc: change go1.6 http heading
...
Reapply golang.org/cl/17918
Change-Id: I0df40585cdd4dae8d365ed9860a81e0cb23f21b9
Reviewed-on: https://go-review.googlesource.com/18032
Reviewed-by: Russ Cox <rsc@golang.org>
2015-12-18 21:07:34 +00:00
Russ Cox
e5ef5d4693
doc: add mention of debug.SetTraceback
...
Change-Id: I59829029769ae08c6c54208a1e38a0794868c5db
Reviewed-on: https://go-review.googlesource.com/18045
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-12-18 20:52:23 +00:00
Emmanuel Odeke
90a6893573
doc: fix typo in go1.6.html
...
Change-Id: I7405cf6f65bccbb07a27f2dc2e3802cab591e296
Reviewed-on: https://go-review.googlesource.com/18030
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-12-18 01:23:00 +00:00
Brad Fitzpatrick
41af93f6a3
doc: change go1.6 http heading
...
Change-Id: Iae05082530891175e9c86da244e610bc92759561
Reviewed-on: https://go-review.googlesource.com/17918
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2015-12-17 21:43:12 +00:00
Brad Fitzpatrick
a12ba4b832
doc: Americanise spelling of wilful
...
Fixes #13660
Change-Id: I05bcb4efcb865192a1ef6756e9dccef83505934c
Reviewed-on: https://go-review.googlesource.com/17990
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2015-12-17 21:32:59 +00:00
Russ Cox
ae9529a261
doc: first draft of Go 1.6 release notes
...
Change-Id: I5aa54e96729b3261f491f51b37e04e59c91b0830
Reviewed-on: https://go-review.googlesource.com/17840
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
2015-12-16 20:20:40 +00:00
Robert Griesemer
57c81ef257
spec: be clearer about which parameter section can be variadic
...
Fixes #13595 .
Change-Id: I870ddc97ea25b7f6f7a1bb1a78e5e4874fba1ddc
Reviewed-on: https://go-review.googlesource.com/17871
Reviewed-by: Rob Pike <r@golang.org>
2015-12-15 21:58:04 +00:00
Russ Cox
cf49b35bd0
doc: fix typo "heirarchy"
...
Change-Id: Iae2bf44ec15975f440d026fd52fcccfbd9c598d9
Reviewed-on: https://go-review.googlesource.com/17740
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-12-14 15:16:25 +00:00
Russ Cox
62226fa9e4
doc: many updates to go1.6.txt
...
Change-Id: I97d2315a1f978fbc4fd9e7f5f860f8e29ae43470
Reviewed-on: https://go-review.googlesource.com/17743
Reviewed-by: Russ Cox <rsc@golang.org>
2015-12-11 16:57:53 +00:00
Russ Cox
8545ea9cee
doc/go1.6.txt: remove fmt.Scanf change (reverted)
...
Change-Id: I26fc120e66f559e4da90883ed5c8457a99426a25
Reviewed-on: https://go-review.googlesource.com/17729
Reviewed-by: Russ Cox <rsc@golang.org>
2015-12-11 06:35:24 +00:00
Rob Pike
9d6e4b7e3a
doc: go1.6.txt: go doc searches in breadth-first order
...
Change-Id: I12a43b15e81a5e0b174c1c49e77f8307c567233b
Reviewed-on: https://go-review.googlesource.com/17697
Reviewed-by: Rob Pike <r@golang.org>
2015-12-10 18:10:32 +00:00
Dave Cheney
d860880377
doc: update go1.6.txt
...
Change-Id: I1164c7a76cf6e6c48ca5153d4c163f5962c4f0cd
Reviewed-on: https://go-review.googlesource.com/17622
Reviewed-by: Dave Cheney <dave@cheney.net>
2015-12-09 04:41:58 +00:00
Chris Broadfoot
aa487e66f8
doc: add heading IDs to Code of Conduct
...
Fixes #13514
Change-Id: I3903d3926ed4f5d54cfb77209d93c950b832b933
Reviewed-on: https://go-review.googlesource.com/17511
Reviewed-by: Francesc Campoy Flores <campoy@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-12-07 22:06:03 +00:00
Alex Brainman
b2963a545c
doc: go1.6.txt: note windows path/filepath.Join behaviour change
...
Change-Id: I321eba716319bf88695ac49580837b6254f1279e
Reviewed-on: https://go-review.googlesource.com/17474
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2015-12-06 06:28:33 +00:00
Chris Broadfoot
4bf81f4941
doc: correct ordering of go1.5 minor revisions
...
Fixes #13474
Change-Id: Ic86e54f6bc67db46504f7d43a0666647af308177
Reviewed-on: https://go-review.googlesource.com/17404
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-12-04 00:52:58 +00:00
Ian Lance Taylor
65b31e14f5
doc: add note about cgo pointer passing rules to go1.6.txt
...
Change-Id: I988d1b230ce516bf2997ec0932a854323b2bab7c
Reviewed-on: https://go-review.googlesource.com/17395
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-12-03 21:21:38 +00:00
Brad Fitzpatrick
d5e8f4dbb8
doc: remove shallow clone mention from go1.6.txt
...
It was reverted.
Change-Id: Ie30d8df9f2e5b14ff823fe81f5e538ee47064662
Reviewed-on: https://go-review.googlesource.com/17317
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-12-03 18:48:04 +00:00
Chris Broadfoot
dc94094920
doc: correct release date for go1.5.2
...
Change-Id: I6bee207db7485f96a499f51b2d1346c35e086d41
Reviewed-on: https://go-review.googlesource.com/17337
Reviewed-by: Russ Cox <rsc@golang.org>
2015-12-03 00:26:08 +00:00
Chris Broadfoot
5d53eeb20f
doc: document go1.5.2
...
Change-Id: Ib6a9e131113523e6b1e5b7604480028b9ffbfa93
Reviewed-on: https://go-review.googlesource.com/17178
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-12-03 00:16:00 +00:00
Robert Griesemer
7305b55e98
spec: clarify examples for struct field tags
...
Fixes #13420 .
Change-Id: Id64ebd0527881450fdaffbb66d8b1831a6b7c43c
Reviewed-on: https://go-review.googlesource.com/17263
Reviewed-by: Rob Pike <r@golang.org>
2015-11-30 22:24:13 +00:00
Robert Griesemer
09e900eb33
spec: clarify that iota is incremented even if not used in a const spec
...
Slightly modified an example.
Fixes #13371 .
Change-Id: I25d260d4200086a0ef9725950132b760657610c5
Reviewed-on: https://go-review.googlesource.com/17209
Reviewed-by: Rob Pike <r@golang.org>
2015-11-26 17:10:22 +00:00
Matthew Dempsky
240144a3a3
doc: update go1.6.txt for cmd/cgo's C.complexfloat and C.complexdouble fix
...
Updates #13402 .
Change-Id: Ia7b729d81fb78206d214444911f2e6573b88717a
Reviewed-on: https://go-review.googlesource.com/17240
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-11-25 23:25:22 +00:00
Andrew Gerrand
90ffb7c806
doc: add Code of Conduct
...
Fixes #13073
Change-Id: I4fd9c6c61f1b9d49f66816839ca35209b4147ae3
Reviewed-on: https://go-review.googlesource.com/17167
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-24 04:07:58 +00:00
Rob Pike
8ab6e16cc9
doc: update 1.6.txt for fmt.Scanf change
...
Change-Id: Icdce5cdb8676c3bcb73bd943b406000252509521
Reviewed-on: https://go-review.googlesource.com/17174
Reviewed-by: Rob Pike <r@golang.org>
2015-11-23 21:13:23 +00:00
Ian Lance Taylor
85dcc34e0d
doc: add FAQ entry about covariant result types
...
Change-Id: If22b8f358e78deca31bd0b1a25e7966987853405
Reviewed-on: https://go-review.googlesource.com/17083
Reviewed-by: Rob Pike <r@golang.org>
2015-11-20 19:41:47 +00:00
Russ Cox
d8dd9c714b
cmd/dist: default to clang, not gcc, on freebsd
...
Fixes #11380 .
Change-Id: I0a284ad2a46826ce82486479ea4e79f0f470292f
Reviewed-on: https://go-review.googlesource.com/16635
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-11-14 03:35:41 +00:00
Shenghou Ma
d75391af73
doc: add mips64/mips64le to supported GOARCHes
...
Change-Id: If9dc08d6c29bf60b63d75d973033897ad8bf8cc4
Reviewed-on: https://go-review.googlesource.com/16905
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-11-13 09:26:29 +00:00
Shenghou Ma
2b5dbc1e2d
doc: update go1.6.txt
...
Change-Id: I9161c4a7e747d35ad7643b8cf0fe8b66eaea963b
Reviewed-on: https://go-review.googlesource.com/16842
Reviewed-by: Minux Ma <minux@golang.org>
2015-11-12 05:09:30 +00:00