mirror of
https://github.com/golang/go
synced 2024-11-20 04:34:41 -07:00
2050f57141
The argument is unused, only present for alignment of the following argument. The compiler today always passes a zero but I'd rather not write anything there during the call sequence, so mark it as a scalar so the garbage collector won't look at it. As expected, no significant performance change. name old new delta BenchmarkBinaryTree17 17.9s × (0.99,1.00) 17.9s × (0.99,1.01) ~ BenchmarkFannkuch11 4.35s × (1.00,1.00) 4.35s × (1.00,1.00) ~ BenchmarkFmtFprintfEmpty 120ns × (0.94,1.05) 120ns × (0.93,1.06) ~ BenchmarkFmtFprintfString 477ns × (1.00,1.00) 479ns × (0.99,1.00) ~ BenchmarkFmtFprintfInt 450ns × (0.99,1.01) 452ns × (0.99,1.02) ~ BenchmarkFmtFprintfIntInt 765ns × (0.99,1.01) 766ns × (0.99,1.01) ~ BenchmarkFmtFprintfPrefixedInt 569ns × (0.99,1.01) 576ns × (0.98,1.01) ~ BenchmarkFmtFprintfFloat 728ns × (1.00,1.00) 730ns × (1.00,1.01) ~ BenchmarkFmtManyArgs 2.82µs × (0.99,1.01) 2.84µs × (0.99,1.00) ~ BenchmarkGobDecode 39.1ms × (0.99,1.01) 39.3ms × (0.98,1.01) ~ BenchmarkGobEncode 39.4ms × (0.99,1.01) 39.5ms × (0.99,1.01) ~ BenchmarkGzip 661ms × (0.99,1.01) 663ms × (1.00,1.01) ~ BenchmarkGunzip 143ms × (1.00,1.00) 143ms × (1.00,1.00) ~ BenchmarkHTTPClientServer 133µs × (0.99,1.01) 132µs × (0.99,1.01) ~ BenchmarkJSONEncode 57.3ms × (0.99,1.04) 57.4ms × (0.99,1.01) ~ BenchmarkJSONDecode 139ms × (0.99,1.00) 139ms × (0.99,1.00) ~ BenchmarkMandelbrot200 6.02ms × (1.00,1.00) 6.03ms × (1.00,1.00) ~ BenchmarkGoParse 9.72ms × (0.92,1.11) 10.31ms × (0.89,1.14) ~ BenchmarkRegexpMatchEasy0_32 209ns × (1.00,1.01) 209ns × (1.00,1.00) ~ BenchmarkRegexpMatchEasy0_1K 592ns × (0.99,1.00) 591ns × (0.99,1.00) ~ BenchmarkRegexpMatchEasy1_32 183ns × (0.98,1.01) 184ns × (0.99,1.02) ~ BenchmarkRegexpMatchEasy1_1K 1.01µs × (1.00,1.01) 1.01µs × (1.00,1.00) ~ BenchmarkRegexpMatchMedium_32 330ns × (1.00,1.00) 330ns × (1.00,1.00) ~ BenchmarkRegexpMatchMedium_1K 92.4µs × (1.00,1.00) 92.6µs × (1.00,1.00) ~ BenchmarkRegexpMatchHard_32 4.77µs × (0.95,1.01) 4.80µs × (0.95,1.00) ~ BenchmarkRegexpMatchHard_1K 136µs × (1.00,1.00) 136µs × (1.00,1.00) ~ BenchmarkRevcomp 906ms × (0.99,1.05) 900ms × (0.99,1.04) ~ BenchmarkTemplate 171ms × (0.99,1.01) 172ms × (1.00,1.00) ~ BenchmarkTimeParse 638ns × (1.00,1.00) 637ns × (1.00,1.00) ~ BenchmarkTimeFormat 745ns × (0.99,1.02) 744ns × (1.00,1.01) ~ Change-Id: I0aeac5dc7adfd75e2223e3aabfedc7818d339f9b Reviewed-on: https://go-review.googlesource.com/9320 Reviewed-by: Austin Clements <austin@google.com>
191 lines
4.4 KiB
Go
191 lines
4.4 KiB
Go
// generated by wbfat_gen.go; use go generate
|
|
|
|
package runtime
|
|
|
|
//go:nosplit
|
|
func writebarrierfat01(dst *[2]uintptr, _ uintptr, src [2]uintptr) {
|
|
dst[0] = src[0]
|
|
writebarrierptr(&dst[1], src[1])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat10(dst *[2]uintptr, _ uintptr, src [2]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
dst[1] = src[1]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat11(dst *[2]uintptr, _ uintptr, src [2]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
writebarrierptr(&dst[1], src[1])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat001(dst *[3]uintptr, _ uintptr, src [3]uintptr) {
|
|
dst[0] = src[0]
|
|
dst[1] = src[1]
|
|
writebarrierptr(&dst[2], src[2])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat010(dst *[3]uintptr, _ uintptr, src [3]uintptr) {
|
|
dst[0] = src[0]
|
|
writebarrierptr(&dst[1], src[1])
|
|
dst[2] = src[2]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat011(dst *[3]uintptr, _ uintptr, src [3]uintptr) {
|
|
dst[0] = src[0]
|
|
writebarrierptr(&dst[1], src[1])
|
|
writebarrierptr(&dst[2], src[2])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat100(dst *[3]uintptr, _ uintptr, src [3]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
dst[1] = src[1]
|
|
dst[2] = src[2]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat101(dst *[3]uintptr, _ uintptr, src [3]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
dst[1] = src[1]
|
|
writebarrierptr(&dst[2], src[2])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat110(dst *[3]uintptr, _ uintptr, src [3]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
writebarrierptr(&dst[1], src[1])
|
|
dst[2] = src[2]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat111(dst *[3]uintptr, _ uintptr, src [3]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
writebarrierptr(&dst[1], src[1])
|
|
writebarrierptr(&dst[2], src[2])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat0001(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
dst[0] = src[0]
|
|
dst[1] = src[1]
|
|
dst[2] = src[2]
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat0010(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
dst[0] = src[0]
|
|
dst[1] = src[1]
|
|
writebarrierptr(&dst[2], src[2])
|
|
dst[3] = src[3]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat0011(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
dst[0] = src[0]
|
|
dst[1] = src[1]
|
|
writebarrierptr(&dst[2], src[2])
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat0100(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
dst[0] = src[0]
|
|
writebarrierptr(&dst[1], src[1])
|
|
dst[2] = src[2]
|
|
dst[3] = src[3]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat0101(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
dst[0] = src[0]
|
|
writebarrierptr(&dst[1], src[1])
|
|
dst[2] = src[2]
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat0110(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
dst[0] = src[0]
|
|
writebarrierptr(&dst[1], src[1])
|
|
writebarrierptr(&dst[2], src[2])
|
|
dst[3] = src[3]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat0111(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
dst[0] = src[0]
|
|
writebarrierptr(&dst[1], src[1])
|
|
writebarrierptr(&dst[2], src[2])
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1000(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
dst[1] = src[1]
|
|
dst[2] = src[2]
|
|
dst[3] = src[3]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1001(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
dst[1] = src[1]
|
|
dst[2] = src[2]
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1010(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
dst[1] = src[1]
|
|
writebarrierptr(&dst[2], src[2])
|
|
dst[3] = src[3]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1011(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
dst[1] = src[1]
|
|
writebarrierptr(&dst[2], src[2])
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1100(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
writebarrierptr(&dst[1], src[1])
|
|
dst[2] = src[2]
|
|
dst[3] = src[3]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1101(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
writebarrierptr(&dst[1], src[1])
|
|
dst[2] = src[2]
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1110(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
writebarrierptr(&dst[1], src[1])
|
|
writebarrierptr(&dst[2], src[2])
|
|
dst[3] = src[3]
|
|
}
|
|
|
|
//go:nosplit
|
|
func writebarrierfat1111(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
|
|
writebarrierptr(&dst[0], src[0])
|
|
writebarrierptr(&dst[1], src[1])
|
|
writebarrierptr(&dst[2], src[2])
|
|
writebarrierptr(&dst[3], src[3])
|
|
}
|