]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: change unused argument in fat write barriers from pointer to scalar
authorRuss Cox <rsc@golang.org>
Fri, 24 Apr 2015 17:41:57 +0000 (13:41 -0400)
committerRuss Cox <rsc@golang.org>
Tue, 28 Apr 2015 01:37:45 +0000 (01:37 +0000)
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>
src/cmd/internal/gc/builtin.go
src/cmd/internal/gc/builtin/runtime.go
src/cmd/internal/gc/walk.go
src/runtime/wbfat.go
src/runtime/wbfat_gen.go

index 13ee7d72891b6e227b1224603b29d9d3075c567a..6cf3a8967192ef2ac8a28b7d5bfdbd1d6e7e6b5c 100644 (file)
@@ -91,31 +91,31 @@ const runtimeimport = "" +
        "func @\"\".writebarrierstring (@\"\".dst·1 *any, @\"\".src·2 any)\n" +
        "func @\"\".writebarrierslice (@\"\".dst·1 *any, @\"\".src·2 any)\n" +
        "func @\"\".writebarrieriface (@\"\".dst·1 *any, @\"\".src·2 any)\n" +
-       "func @\"\".writebarrierfat01 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat10 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat11 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat001 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat010 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat011 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat100 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat101 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat110 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat111 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat0001 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat0010 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat0011 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat0100 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat0101 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat0110 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat0111 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1000 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1001 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1010 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1011 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1100 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1101 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1110 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
-       "func @\"\".writebarrierfat1111 (@\"\".dst·1 *any, _ *byte, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat01 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat10 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat11 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat001 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat010 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat011 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat100 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat101 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat110 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat111 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat0001 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat0010 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat0011 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat0100 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat0101 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat0110 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat0111 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1000 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1001 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1010 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1011 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1100 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1101 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1110 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
+       "func @\"\".writebarrierfat1111 (@\"\".dst·1 *any, _ uintptr, @\"\".src·3 any)\n" +
        "func @\"\".typedmemmove (@\"\".typ·1 *byte, @\"\".dst·2 *any, @\"\".src·3 *any)\n" +
        "func @\"\".typedslicecopy (@\"\".typ·2 *byte, @\"\".dst·3 any, @\"\".src·4 any) (? int)\n" +
        "func @\"\".selectnbsend (@\"\".chanType·2 *byte, @\"\".hchan·3 chan<- any, @\"\".elem·4 *any) (? bool)\n" +
index 0cf1fb2894dc2d737947941ea21d9450dff3b860..ec769e1e991f8b4d1792e4ea0a1245e2df658a40 100644 (file)
@@ -118,31 +118,31 @@ func writebarrieriface(dst *any, src any)
 // which is the maximum alignment on NaCl amd64p32
 // (and possibly on 32-bit systems if we start 64-bit aligning uint64s).
 // The bitmap in the name tells which words being copied are pointers.
-func writebarrierfat01(dst *any, _ *byte, src any)
-func writebarrierfat10(dst *any, _ *byte, src any)
-func writebarrierfat11(dst *any, _ *byte, src any)
-func writebarrierfat001(dst *any, _ *byte, src any)
-func writebarrierfat010(dst *any, _ *byte, src any)
-func writebarrierfat011(dst *any, _ *byte, src any)
-func writebarrierfat100(dst *any, _ *byte, src any)
-func writebarrierfat101(dst *any, _ *byte, src any)
-func writebarrierfat110(dst *any, _ *byte, src any)
-func writebarrierfat111(dst *any, _ *byte, src any)
-func writebarrierfat0001(dst *any, _ *byte, src any)
-func writebarrierfat0010(dst *any, _ *byte, src any)
-func writebarrierfat0011(dst *any, _ *byte, src any)
-func writebarrierfat0100(dst *any, _ *byte, src any)
-func writebarrierfat0101(dst *any, _ *byte, src any)
-func writebarrierfat0110(dst *any, _ *byte, src any)
-func writebarrierfat0111(dst *any, _ *byte, src any)
-func writebarrierfat1000(dst *any, _ *byte, src any)
-func writebarrierfat1001(dst *any, _ *byte, src any)
-func writebarrierfat1010(dst *any, _ *byte, src any)
-func writebarrierfat1011(dst *any, _ *byte, src any)
-func writebarrierfat1100(dst *any, _ *byte, src any)
-func writebarrierfat1101(dst *any, _ *byte, src any)
-func writebarrierfat1110(dst *any, _ *byte, src any)
-func writebarrierfat1111(dst *any, _ *byte, src any)
+func writebarrierfat01(dst *any, _ uintptr, src any)
+func writebarrierfat10(dst *any, _ uintptr, src any)
+func writebarrierfat11(dst *any, _ uintptr, src any)
+func writebarrierfat001(dst *any, _ uintptr, src any)
+func writebarrierfat010(dst *any, _ uintptr, src any)
+func writebarrierfat011(dst *any, _ uintptr, src any)
+func writebarrierfat100(dst *any, _ uintptr, src any)
+func writebarrierfat101(dst *any, _ uintptr, src any)
+func writebarrierfat110(dst *any, _ uintptr, src any)
+func writebarrierfat111(dst *any, _ uintptr, src any)
+func writebarrierfat0001(dst *any, _ uintptr, src any)
+func writebarrierfat0010(dst *any, _ uintptr, src any)
+func writebarrierfat0011(dst *any, _ uintptr, src any)
+func writebarrierfat0100(dst *any, _ uintptr, src any)
+func writebarrierfat0101(dst *any, _ uintptr, src any)
+func writebarrierfat0110(dst *any, _ uintptr, src any)
+func writebarrierfat0111(dst *any, _ uintptr, src any)
+func writebarrierfat1000(dst *any, _ uintptr, src any)
+func writebarrierfat1001(dst *any, _ uintptr, src any)
+func writebarrierfat1010(dst *any, _ uintptr, src any)
+func writebarrierfat1011(dst *any, _ uintptr, src any)
+func writebarrierfat1100(dst *any, _ uintptr, src any)
+func writebarrierfat1101(dst *any, _ uintptr, src any)
+func writebarrierfat1110(dst *any, _ uintptr, src any)
+func writebarrierfat1111(dst *any, _ uintptr, src any)
 
 func typedmemmove(typ *byte, dst *any, src *any)
 func typedslicecopy(typ *byte, dst any, src any) int
index 79a303855a29863a23f062a1f1a473c0301b5baa..01319a771f8f312f086f5814daf8cfe1579c00d4 100644 (file)
@@ -2265,7 +2265,7 @@ func applywritebarrier(n *Node, init **NodeList) *Node {
                                name = fmt.Sprintf("writebarrierfat%d%d%d%d", bvget(applywritebarrier_bv, PtrBit), bvget(applywritebarrier_bv, obj.BitsPerPointer+PtrBit), bvget(applywritebarrier_bv, 2*obj.BitsPerPointer+PtrBit), bvget(applywritebarrier_bv, 3*obj.BitsPerPointer+PtrBit))
                        }
 
-                       n = mkcall1(writebarrierfn(name, t, n.Right.Type), nil, init, l, nodnil(), n.Right)
+                       n = mkcall1(writebarrierfn(name, t, n.Right.Type), nil, init, l, Nodintconst(0), n.Right)
                } else {
                        r := n.Right
                        for r.Op == OCONVNOP {
index 75c58b26bd8cc9ec02274350039a28a06393e647..8fe2cefd8d48bf67796d5221b0e04acca577c390 100644 (file)
@@ -3,74 +3,74 @@
 package runtime
 
 //go:nosplit
-func writebarrierfat01(dst *[2]uintptr, _ *byte, src [2]uintptr) {
+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, _ *byte, src [2]uintptr) {
+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, _ *byte, src [2]uintptr) {
+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, _ *byte, src [3]uintptr) {
+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, _ *byte, src [3]uintptr) {
+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, _ *byte, src [3]uintptr) {
+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, _ *byte, src [3]uintptr) {
+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, _ *byte, src [3]uintptr) {
+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, _ *byte, src [3]uintptr) {
+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, _ *byte, src [3]uintptr) {
+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, _ *byte, src [4]uintptr) {
+func writebarrierfat0001(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        dst[0] = src[0]
        dst[1] = src[1]
        dst[2] = src[2]
@@ -78,7 +78,7 @@ func writebarrierfat0001(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat0010(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat0010(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        dst[0] = src[0]
        dst[1] = src[1]
        writebarrierptr(&dst[2], src[2])
@@ -86,7 +86,7 @@ func writebarrierfat0010(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat0011(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat0011(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        dst[0] = src[0]
        dst[1] = src[1]
        writebarrierptr(&dst[2], src[2])
@@ -94,7 +94,7 @@ func writebarrierfat0011(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat0100(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat0100(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        dst[0] = src[0]
        writebarrierptr(&dst[1], src[1])
        dst[2] = src[2]
@@ -102,7 +102,7 @@ func writebarrierfat0100(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat0101(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat0101(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        dst[0] = src[0]
        writebarrierptr(&dst[1], src[1])
        dst[2] = src[2]
@@ -110,7 +110,7 @@ func writebarrierfat0101(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat0110(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat0110(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        dst[0] = src[0]
        writebarrierptr(&dst[1], src[1])
        writebarrierptr(&dst[2], src[2])
@@ -118,7 +118,7 @@ func writebarrierfat0110(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat0111(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat0111(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        dst[0] = src[0]
        writebarrierptr(&dst[1], src[1])
        writebarrierptr(&dst[2], src[2])
@@ -126,7 +126,7 @@ func writebarrierfat0111(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1000(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1000(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        dst[1] = src[1]
        dst[2] = src[2]
@@ -134,7 +134,7 @@ func writebarrierfat1000(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1001(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1001(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        dst[1] = src[1]
        dst[2] = src[2]
@@ -142,7 +142,7 @@ func writebarrierfat1001(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1010(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1010(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        dst[1] = src[1]
        writebarrierptr(&dst[2], src[2])
@@ -150,7 +150,7 @@ func writebarrierfat1010(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1011(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1011(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        dst[1] = src[1]
        writebarrierptr(&dst[2], src[2])
@@ -158,7 +158,7 @@ func writebarrierfat1011(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1100(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1100(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        writebarrierptr(&dst[1], src[1])
        dst[2] = src[2]
@@ -166,7 +166,7 @@ func writebarrierfat1100(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1101(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1101(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        writebarrierptr(&dst[1], src[1])
        dst[2] = src[2]
@@ -174,7 +174,7 @@ func writebarrierfat1101(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1110(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1110(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        writebarrierptr(&dst[1], src[1])
        writebarrierptr(&dst[2], src[2])
@@ -182,7 +182,7 @@ func writebarrierfat1110(dst *[4]uintptr, _ *byte, src [4]uintptr) {
 }
 
 //go:nosplit
-func writebarrierfat1111(dst *[4]uintptr, _ *byte, src [4]uintptr) {
+func writebarrierfat1111(dst *[4]uintptr, _ uintptr, src [4]uintptr) {
        writebarrierptr(&dst[0], src[0])
        writebarrierptr(&dst[1], src[1])
        writebarrierptr(&dst[2], src[2])
index 78d5b6271ffbb8057cb9f65d1df3a3bb86e70e18..9482cfe5e6b3b91c9c9dbfa1e9e5438e7cdb4848 100644 (file)
@@ -27,7 +27,7 @@ func main() {
        for i := uint(2); i <= 4; i++ {
                for j := 1; j < 1<<i; j++ {
                        fmt.Printf("\n//go:nosplit\n")
-                       fmt.Printf("func writebarrierfat%0*b(dst *[%d]uintptr, _ *byte, src [%d]uintptr) {\n", int(i), j, i, i)
+                       fmt.Printf("func writebarrierfat%0*b(dst *[%d]uintptr, _ uintptr, src [%d]uintptr) {\n", int(i), j, i, i)
                        for k := uint(0); k < i; k++ {
                                if j&(1<<(i-1-k)) != 0 {
                                        fmt.Printf("\twritebarrierptr(&dst[%d], src[%d])\n", k, k)