Skip to content

Commit 93dfb49

Browse files
committed
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 <[email protected]>
1 parent 1aa191b commit 93dfb49

File tree

2 files changed

+89
-30
lines changed

2 files changed

+89
-30
lines changed

doc/go1.8.html

Lines changed: 89 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ <h2 id="introduction">DRAFT RELEASE NOTES - Introduction to Go 1.8</h2>
3636
<a href="#gc">reduces GC pauses</a> by eliminating stop-the-world stack rescanning,
3737
<a href="#h2push">adds HTTP/2 Push support</a>,
3838
<a href="#http_shutdown">adds HTTP graceful shutdown</a>,
39-
<a href="#more_context">more context support</a>,
39+
<a href="#more_context">adds more context support</a>,
40+
<a href="#mutex_prof">enables profiling mutexes</a>,
4041
and <a href="#sort">simplifies sorting slices</a>.
4142
</p>
4243

@@ -64,7 +65,7 @@ <h2 id="ports">Ports</h2>
6465
</p>
6566

6667
<p>
67-
Go now requires DragonFly BSD 4.4.4 or later. <!-- CL 29491 -->
68+
Go now requires DragonFly BSD 4.4.4 or later. <!-- CL 29491, CL 29971 -->
6869
</p>
6970

7071
<p>
@@ -223,6 +224,10 @@ <h3 id="tool_pprof">Pprof</h3>
223224

224225
<p>
225226
TODO: more. proto? standalone profiles with symbols?
227+
<pre>
228+
runtime/pprof: output CPU profiles in pprof protobuf format (CL 33071)
229+
runtime/pprof: write profiles in protobuf format. (CL 32257)
230+
</pre>
226231
</p>
227232

228233
<h3 id="tool_trace">Trace</h3>
@@ -233,6 +238,7 @@ <h3 id="tool_trace">Trace</h3>
233238
cmd/trace: fix a runnable goroutine count bug (CL 25552)
234239
cmd/trace: move process-wide GC events to their own row (CL 30017)
235240
internal/trace: fix analysis of EvGoWaiting/EvGoInSyscall events (CL 25572)
241+
cmd/trace: annotate different mark worker types (CL 30702)
236242
</pre>
237243

238244
<h3 id="tool_vet">Vet</h3>
@@ -543,6 +549,25 @@ <h3 id="more_context">More Context Support</h3>
543549
take a context.</li>
544550
</ul>
545551

552+
<h3 id="mutex_prof">Mutex Contention Profiling</h3>
553+
554+
<p>
555+
The runtime and tools now support profiling contended mutexes.
556+
</p>
557+
558+
<p>
559+
Most users will want to use the new <code>-mutexprofile</code>
560+
flag with <a href="/cmd/go/#hdr-Description_of_testing_flags"><code>go</code> <code>test</code></a>,
561+
and then use <a href="/cmd/pprof/">pprof</a> on the resultant file.
562+
</p>
563+
564+
<p>
565+
Lower-level support is also available via the new
566+
<a href="/pkg/runtime/#MutexProfile"><code>MutexProfile</code></a>
567+
and
568+
<a href="/pkg/runtime/#SetMutexProfileFraction"><code>SetMutexProfileFraction</code></a>.
569+
</p>
570+
546571
<h3 id="minor_library_changes">Minor changes to the library</h3>
547572

548573
<p>
@@ -936,6 +961,20 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
936961
</dd>
937962
</dl>
938963

964+
<dl id="fmt"><dt><a href="/pkg/fmt/">fmt</a></dt>
965+
<dd>
966+
<p><!-- CL 30611 -->
967+
<a href="/pkg/fmt/#Scanf"><code>Scanf</code></a>,
968+
<a href="/pkg/fmt/#Fscanf"><code>Fscanf</code></a>, and
969+
<a href="/pkg/fmt/#Sscanf"><code>Sscanf</code></a> now
970+
handle spaces differently and more consistently than
971+
previous releases. See the
972+
<a href="/pkg/fmt/#hdr-Scanning">scanning documentation</a>
973+
for details.
974+
</p>
975+
</dd>
976+
</dl>
977+
939978
<dl id="go_doc"><dt><a href="/pkg/go/doc/">go/doc</a></dt>
940979
<dd>
941980
<p><!-- CL 29870 -->
@@ -945,6 +984,31 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
945984
</dd>
946985
</dl>
947986

987+
<dl id="go_types"><dt><a href="/pkg/go/types/">go/types</a></dt>
988+
<dd>
989+
<p><!-- CL 30715 -->
990+
The new function
991+
<a href="/pkg/go/types/#Default"><code>Default</code></a>
992+
returns the default "typed" type for an "untyped" type.
993+
</p>
994+
995+
<p><!-- CL 31939 -->
996+
The alignment of <code>complex64</code> now matches
997+
the <a href="/cmd/compile/">Go compiler</a>.
998+
</p>
999+
</dd>
1000+
</dl>
1001+
1002+
<dl id="html_template"><dt><a href="/pkg/html/template/">html/template</a></dt>
1003+
<dd>
1004+
<p><!-- CL 14336 -->
1005+
The package now validates
1006+
the <code>"type"</code> attribute on
1007+
a <code>&lt;script&gt;</code> tag.
1008+
</p>
1009+
</dd>
1010+
</dl>
1011+
9481012
<dl id="image_png"><dt><a href="/pkg/image/png/">image/png</a></dt>
9491013
<dd>
9501014
<p> <!-- CL 32143, CL 32140 -->
@@ -1411,7 +1475,6 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
14111475
</dd>
14121476
</dl>
14131477

1414-
14151478
<dl id="strconv"><dt><a href="/pkg/strconv/">strconv</a></dt>
14161479
<dd>
14171480
<p> <!-- CL 31210 -->
@@ -1423,6 +1486,29 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
14231486
</dd>
14241487
</dl>
14251488

1489+
<dl id="syscall"><dt><a href="/pkg/syscall/">syscall</a></dt>
1490+
<dd>
1491+
<p> <!-- CL 25050, CL 25022 -->
1492+
The <a href="/pkg/syscall/#Getpagesize"><code>Getpagesize</code></a>
1493+
now returns the system's size, rather than a constant value.
1494+
Previously it always returned 4KB.
1495+
</p>
1496+
1497+
<p> <!-- CL 31446 -->
1498+
The signature
1499+
of <a href="/pkg/syscall/#Utimes"><code>Utimes</code></a> has
1500+
changed on Solaris to match all the other Unix systems'
1501+
signature. Portable code should continue to use
1502+
<a href="/pkg/os/#Chtimes"><code>os.Chtimes</code></a> instead.
1503+
</p>
1504+
1505+
<p> <!-- CL 32319 -->
1506+
The <code>X__cmsg_data</code> field has been removed from
1507+
<a href="/pkg/syscall/#Cmsghdr"><code>Cmsghdr</code></a>.
1508+
</p>
1509+
</dd>
1510+
</dl>
1511+
14261512
<dl id="text_template"><dt><a href="/pkg/text/template/">text/template</a></dt>
14271513
<dd>
14281514
<p> <!-- CL 31462 -->

doc/go1.8.txt

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ API additions and behavior changes:
1212

1313
cmd/compile, runtime, etc: get rid of constant FP registers (CL 28095)
1414
cmd/compile, runtime: add go:yeswritebarrierrec pragma (CL 30938)
15-
cmd/compile/internal/gc: add runtime/trace support (CL 25354)
1615
cmd/compile/internal/gc: enable new parser by default (CL 27203)
1716
cmd/compile/internal/syntax: fast Go syntax trees, initial commit (CL 27195)
1817
cmd/compile: add compiler phase timing (CL 24462)
@@ -37,28 +36,14 @@ cmd/link: split large elf text sections on ppc64x (CL 27790)
3736
cmd/link: trampoline support for external linking on ARM (CL 31143)
3837
cmd/objdump: implement objdump of .o files (CL 24818)
3938

40-
fmt: document and adjust Scanf space handling to eliminate a few paradoxes (CL 30611)
41-
4239
go/build: allow % in ${SRCDIR} expansion for Jenkins (CL 31611)
4340
go/build: do not record go:binary-only-package if build tags not satisfied (CL 31577)
4441
go/build: implement default GOPATH (CL 32019)
4542

46-
go/printer: don't drop required semi/linebreak after /*-comment (CL 33016)
47-
go/types: expose Default function, which converts untyped T to T (CL 30715)
48-
go/types: match cmd/compile's alignment for complex64 (CL 31939)
49-
50-
html/template: check "type" attribute in <script> (CL 14336)
51-
52-
runtime, cmd/trace: annotate different mark worker types (CL 30702)
53-
runtime, runtime/cgo: revert CL 18814; don't drop signal stack in new thread on dragonfly (CL 29971)
54-
runtime/pprof: output CPU profiles in pprof protobuf format (CL 33071)
55-
runtime/pprof: write profiles in protobuf format. (CL 32257)
5643
runtime/race: update race runtime (CL 32160)
57-
runtime: Profile goroutines holding contended mutexes. (CL 29650)
5844
runtime: assume 64kB physical pages on ARM (CL 25021)
5945
runtime: disable stack rescanning by default (CL 31766)
6046
runtime: don't call cgocallback from signal handler (CL 30218)
61-
runtime: fetch physical page size from the OS (CL 25050)
6247
runtime: fix check for vacuous page boundary rounding (CL 27230)
6348
runtime: fix map iterator concurrent map check (CL 24749)
6449
runtime: fix newextram PC passed to race detector (CL 29712)
@@ -68,19 +53,7 @@ runtime: limit the number of map overflow buckets (CL 25049)
6853
runtime: pass windows float syscall args via XMM (CL 32173)
6954
runtime: print sigcode on signal crash (CL 32183)
7055
runtime: record current PC for SIGPROF on non-Go thread (CL 30252)
71-
runtime: report GCSys and OtherSys in heap profile (CL 29276)
7256
runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd (CL 30154)
73-
runtime: use RtlGenRandom instead of CryptGenRandom (CL 29700)
74-
runtime: use clock_gettime(CLOCK_REALTIME) for nanosecond-precision time.now on arm64, mips64x (CL 32177)
75-
runtime: use correct system page size on all arches (CL 25022)
76-
runtime: handle SIGPIPE in c-archive and c-shared programs (CL 32796)
7757

78-
syscall: Clearenv now unsets env vars on Windows (CL 33168)
79-
syscall: add bounds checking and error returns to ParseNetlinkMessage (CL 26990)
8058
syscall: fix Send{msg,msgN}, Recvmsg and control message handling on solaris (CL 30171)
81-
syscall: make Getpagesize return system-reported page size (CL 25051)
82-
syscall: make Utimes on Solaris match all the other geese (CL 31446)
8359
syscall: remove X__cmsg_data from Cmsghdr (CL 32319)
84-
syscall: unify NsecToTime{spec,val}, fix for times < 1970 (CL 30826)
85-
syscall: validate ParseDirent inputs (CL 23780)
86-

0 commit comments

Comments
 (0)