@@ -83,8 +83,26 @@ <h3 id="vet">Vet</h3>
83
83
84
84
< h2 id ="runtime "> Runtime</ h2 >
85
85
86
- < p >
87
- TODO: complete this section, or delete if not needed
86
+ < p > <!-- CL 543255 -->
87
+ The runtime now keeps type-based garbage collection metadata nearer to each
88
+ heap object, improving the CPU performance (latency or throughput) of Go programs
89
+ by 1—3%.
90
+ This change also reduces the memory overhead of the majority Go programs by
91
+ approximately 1% by deduplicating redundant metadata.
92
+ Some programs may see a smaller improvement because this change adjusts the size
93
+ class boundaries of the memory allocator, so some objects may be moved up a size
94
+ class.
95
+ < br />
96
+ A consequence of this change is that some objects' addresses that were previously
97
+ always aligned to a 16 byte (or higher) boundary will now only be aligned to an 8
98
+ byte boundary.
99
+ Some programs that use assembly instructions that require memory addresses to be
100
+ more than 8-byte aligned and rely on the memory allocator's previous alignment behavior
101
+ may break, but we expect such programs to be rare.
102
+ Such programs may be built with < code > GOEXPERIMENT=noallocheaders</ code > to revert
103
+ to the old metadata layout and restore the previous alignment behavior, but package
104
+ owners should update their assembly code to avoid the alignment assumption, as this
105
+ workaround will be removed in a future release.
88
106
</ p >
89
107
90
108
< h2 id ="compiler "> Compiler</ h2 >
@@ -517,10 +535,6 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
517
535
< p > <!-- https://go.dev/issue/61015 -->
518
536
TODO: < a href ="https://go.dev/issue/61015 "> https://go.dev/issue/61015</ a > : change mutex profile to scale contention by number of blocked goroutines
519
537
</ p >
520
-
521
- < p > <!-- CL 543255 -->
522
- TODO: < a href ="https://go.dev/cl/543255 "> https://go.dev/cl/543255</ a > : runtime: put allocation headers back at the start the object
523
- </ p >
524
538
</ dd >
525
539
</ dl > <!-- runtime -->
526
540
0 commit comments