aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-11-30 04:12:33 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2016-11-30 04:13:48 +0000
commit93dfb49d86ff085a4e644d596a0632de66feb135 (patch)
tree4afc1e2d6335590b183c1e4b90037ae61061c429
parent1aa191b468f0dde2546c8430dbfffb8b94e7568b (diff)
downloadgo-93dfb49d86ff085a4e644d596a0632de66feb135.tar.gz
go-93dfb49d86ff085a4e644d596a0632de66feb135.zip
doc: more go1.8.html
Mutex profiling, syscall, fmt, go/types, html/template. TBR=See https://golang.org/cl/33244 Updates #17929 Change-Id: I1ba0649171d6f6a69646a90eb65db6674cb903af Reviewed-on: https://go-review.googlesource.com/33684 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-rw-r--r--doc/go1.8.html92
-rw-r--r--doc/go1.8.txt27
2 files changed, 89 insertions, 30 deletions
diff --git a/doc/go1.8.html b/doc/go1.8.html
index ec65e1ef8e..4163027a32 100644
--- a/doc/go1.8.html
+++ b/doc/go1.8.html
@@ -36,7 +36,8 @@ The release <a href="#ports">adds support for 32-bit MIPS</a>,
<a href="#gc">reduces GC pauses</a> by eliminating stop-the-world stack rescanning,
<a href="#h2push">adds HTTP/2 Push support</a>,
<a href="#http_shutdown">adds HTTP graceful shutdown</a>,
-<a href="#more_context">more context support</a>,
+<a href="#more_context">adds more context support</a>,
+<a href="#mutex_prof">enables profiling mutexes</a>,
and <a href="#sort">simplifies sorting slices</a>.
</p>
@@ -64,7 +65,7 @@ Go now supports 32-bit MIPS on Linux for both big-endian
</p>
<p>
-Go now requires DragonFly BSD 4.4.4 or later. <!-- CL 29491 -->
+Go now requires DragonFly BSD 4.4.4 or later. <!-- CL 29491, CL 29971 -->
</p>
<p>
@@ -223,6 +224,10 @@ It has moved to the “tools” repository and is and is available via
<p>
TODO: more. proto? standalone profiles with symbols?
+<pre>
+runtime/pprof: output CPU profiles in pprof protobuf format (CL 33071)
+runtime/pprof: write profiles in protobuf format. (CL 32257)
+</pre>
</p>
<h3 id="tool_trace">Trace</h3>
@@ -233,6 +238,7 @@ cmd/trace: add option to output pprof files (CL 23324)
cmd/trace: fix a runnable goroutine count bug (CL 25552)
cmd/trace: move process-wide GC events to their own row (CL 30017)
internal/trace: fix analysis of EvGoWaiting/EvGoInSyscall events (CL 25572)
+cmd/trace: annotate different mark worker types (CL 30702)
</pre>
<h3 id="tool_vet">Vet</h3>
@@ -543,6 +549,25 @@ now implements the new
take a context.</li>
</ul>
+<h3 id="mutex_prof">Mutex Contention Profiling</h3>
+
+<p>
+ The runtime and tools now support profiling contended mutexes.
+</p>
+
+<p>
+ Most users will want to use the new <code>-mutexprofile</code>
+ flag with <a href="/cmd/go/#hdr-Description_of_testing_flags"><code>go</code> <code>test</code></a>,
+ and then use <a href="/cmd/pprof/">pprof</a> on the resultant file.
+</p>
+
+<p>
+ Lower-level support is also available via the new
+ <a href="/pkg/runtime/#MutexProfile"><code>MutexProfile</code></a>
+ and
+ <a href="/pkg/runtime/#SetMutexProfileFraction"><code>SetMutexProfileFraction</code></a>.
+</p>
+
<h3 id="minor_library_changes">Minor changes to the library</h3>
<p>
@@ -936,6 +961,20 @@ crypto/x509: return error for missing SerialNumber (CL 27238)
</dd>
</dl>
+<dl id="fmt"><dt><a href="/pkg/fmt/">fmt</a></dt>
+ <dd>
+ <p><!-- CL 30611 -->
+ <a href="/pkg/fmt/#Scanf"><code>Scanf</code></a>,
+ <a href="/pkg/fmt/#Fscanf"><code>Fscanf</code></a>, and
+ <a href="/pkg/fmt/#Sscanf"><code>Sscanf</code></a> now
+ handle spaces differently and more consistently than
+ previous releases. See the
+ <a href="/pkg/fmt/#hdr-Scanning">scanning documentation</a>
+ for details.
+ </p>
+ </dd>
+</dl>
+
<dl id="go_doc"><dt><a href="/pkg/go/doc/">go/doc</a></dt>
<dd>
<p><!-- CL 29870 -->
@@ -945,6 +984,31 @@ crypto/x509: return error for missing SerialNumber (CL 27238)
</dd>
</dl>
+<dl id="go_types"><dt><a href="/pkg/go/types/">go/types</a></dt>
+ <dd>
+ <p><!-- CL 30715 -->
+ The new function
+ <a href="/pkg/go/types/#Default"><code>Default</code></a>
+ returns the default "typed" type for an "untyped" type.
+ </p>
+
+ <p><!-- CL 31939 -->
+ The alignment of <code>complex64</code> now matches
+ the <a href="/cmd/compile/">Go compiler</a>.
+ </p>
+ </dd>
+</dl>
+
+<dl id="html_template"><dt><a href="/pkg/html/template/">html/template</a></dt>
+ <dd>
+ <p><!-- CL 14336 -->
+ The package now validates
+ the <code>"type"</code> attribute on
+ a <code>&lt;script&gt;</code> tag.
+ </p>
+ </dd>
+</dl>
+
<dl id="image_png"><dt><a href="/pkg/image/png/">image/png</a></dt>
<dd>
<p> <!-- CL 32143, CL 32140 -->
@@ -1411,7 +1475,6 @@ crypto/x509: return error for missing SerialNumber (CL 27238)
</dd>
</dl>
-
<dl id="strconv"><dt><a href="/pkg/strconv/">strconv</a></dt>
<dd>
<p> <!-- CL 31210 -->
@@ -1423,6 +1486,29 @@ crypto/x509: return error for missing SerialNumber (CL 27238)
</dd>
</dl>
+<dl id="syscall"><dt><a href="/pkg/syscall/">syscall</a></dt>
+ <dd>
+ <p> <!-- CL 25050, CL 25022 -->
+ The <a href="/pkg/syscall/#Getpagesize"><code>Getpagesize</code></a>
+ now returns the system's size, rather than a constant value.
+ Previously it always returned 4KB.
+ </p>
+
+ <p> <!-- CL 31446 -->
+ The signature
+ of <a href="/pkg/syscall/#Utimes"><code>Utimes</code></a> has
+ changed on Solaris to match all the other Unix systems'
+ signature. Portable code should continue to use
+ <a href="/pkg/os/#Chtimes"><code>os.Chtimes</code></a> instead.
+ </p>
+
+ <p> <!-- CL 32319 -->
+ The <code>X__cmsg_data</code> field has been removed from
+ <a href="/pkg/syscall/#Cmsghdr"><code>Cmsghdr</code></a>.
+ </p>
+ </dd>
+</dl>
+
<dl id="text_template"><dt><a href="/pkg/text/template/">text/template</a></dt>
<dd>
<p> <!-- CL 31462 -->
diff --git a/doc/go1.8.txt b/doc/go1.8.txt
index b03d820e09..49f29a399a 100644
--- a/doc/go1.8.txt
+++ b/doc/go1.8.txt
@@ -12,7 +12,6 @@ API additions and behavior changes:
cmd/compile, runtime, etc: get rid of constant FP registers (CL 28095)
cmd/compile, runtime: add go:yeswritebarrierrec pragma (CL 30938)
-cmd/compile/internal/gc: add runtime/trace support (CL 25354)
cmd/compile/internal/gc: enable new parser by default (CL 27203)
cmd/compile/internal/syntax: fast Go syntax trees, initial commit (CL 27195)
cmd/compile: add compiler phase timing (CL 24462)
@@ -37,28 +36,14 @@ cmd/link: split large elf text sections on ppc64x (CL 27790)
cmd/link: trampoline support for external linking on ARM (CL 31143)
cmd/objdump: implement objdump of .o files (CL 24818)
-fmt: document and adjust Scanf space handling to eliminate a few paradoxes (CL 30611)
-
go/build: allow % in ${SRCDIR} expansion for Jenkins (CL 31611)
go/build: do not record go:binary-only-package if build tags not satisfied (CL 31577)
go/build: implement default GOPATH (CL 32019)
-go/printer: don't drop required semi/linebreak after /*-comment (CL 33016)
-go/types: expose Default function, which converts untyped T to T (CL 30715)
-go/types: match cmd/compile's alignment for complex64 (CL 31939)
-
-html/template: check "type" attribute in <script> (CL 14336)
-
-runtime, cmd/trace: annotate different mark worker types (CL 30702)
-runtime, runtime/cgo: revert CL 18814; don't drop signal stack in new thread on dragonfly (CL 29971)
-runtime/pprof: output CPU profiles in pprof protobuf format (CL 33071)
-runtime/pprof: write profiles in protobuf format. (CL 32257)
runtime/race: update race runtime (CL 32160)
-runtime: Profile goroutines holding contended mutexes. (CL 29650)
runtime: assume 64kB physical pages on ARM (CL 25021)
runtime: disable stack rescanning by default (CL 31766)
runtime: don't call cgocallback from signal handler (CL 30218)
-runtime: fetch physical page size from the OS (CL 25050)
runtime: fix check for vacuous page boundary rounding (CL 27230)
runtime: fix map iterator concurrent map check (CL 24749)
runtime: fix newextram PC passed to race detector (CL 29712)
@@ -68,19 +53,7 @@ runtime: limit the number of map overflow buckets (CL 25049)
runtime: pass windows float syscall args via XMM (CL 32173)
runtime: print sigcode on signal crash (CL 32183)
runtime: record current PC for SIGPROF on non-Go thread (CL 30252)
-runtime: report GCSys and OtherSys in heap profile (CL 29276)
runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd (CL 30154)
-runtime: use RtlGenRandom instead of CryptGenRandom (CL 29700)
-runtime: use clock_gettime(CLOCK_REALTIME) for nanosecond-precision time.now on arm64, mips64x (CL 32177)
-runtime: use correct system page size on all arches (CL 25022)
-runtime: handle SIGPIPE in c-archive and c-shared programs (CL 32796)
-syscall: Clearenv now unsets env vars on Windows (CL 33168)
-syscall: add bounds checking and error returns to ParseNetlinkMessage (CL 26990)
syscall: fix Send{msg,msgN}, Recvmsg and control message handling on solaris (CL 30171)
-syscall: make Getpagesize return system-reported page size (CL 25051)
-syscall: make Utimes on Solaris match all the other geese (CL 31446)
syscall: remove X__cmsg_data from Cmsghdr (CL 32319)
-syscall: unify NsecToTime{spec,val}, fix for times < 1970 (CL 30826)
-syscall: validate ParseDirent inputs (CL 23780)
-