Source file test/codegen/writebarrier.go

     1  // asmcheck
     2  
     3  // Copyright 2023 The Go Authors. All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  package codegen
     8  
     9  func combine2string(p *[2]string, a, b string) {
    10  	// amd64:`.*runtime[.]gcWriteBarrier4\(SB\)`
    11  	// arm64:`.*runtime[.]gcWriteBarrier4\(SB\)`
    12  	p[0] = a
    13  	// amd64:-`.*runtime[.]gcWriteBarrier`
    14  	// arm64:-`.*runtime[.]gcWriteBarrier`
    15  	p[1] = b
    16  }
    17  
    18  func combine4string(p *[4]string, a, b, c, d string) {
    19  	// amd64:`.*runtime[.]gcWriteBarrier8\(SB\)`
    20  	// arm64:`.*runtime[.]gcWriteBarrier8\(SB\)`
    21  	p[0] = a
    22  	// amd64:-`.*runtime[.]gcWriteBarrier`
    23  	// arm64:-`.*runtime[.]gcWriteBarrier`
    24  	p[1] = b
    25  	// amd64:-`.*runtime[.]gcWriteBarrier`
    26  	// arm64:-`.*runtime[.]gcWriteBarrier`
    27  	p[2] = c
    28  	// amd64:-`.*runtime[.]gcWriteBarrier`
    29  	// arm64:-`.*runtime[.]gcWriteBarrier`
    30  	p[3] = d
    31  }
    32  
    33  func combine2slice(p *[2][]byte, a, b []byte) {
    34  	// amd64:`.*runtime[.]gcWriteBarrier4\(SB\)`
    35  	// arm64:`.*runtime[.]gcWriteBarrier4\(SB\)`
    36  	p[0] = a
    37  	// amd64:-`.*runtime[.]gcWriteBarrier`
    38  	// arm64:-`.*runtime[.]gcWriteBarrier`
    39  	p[1] = b
    40  }
    41  
    42  func combine4slice(p *[4][]byte, a, b, c, d []byte) {
    43  	// amd64:`.*runtime[.]gcWriteBarrier8\(SB\)`
    44  	// arm64:`.*runtime[.]gcWriteBarrier8\(SB\)`
    45  	p[0] = a
    46  	// amd64:-`.*runtime[.]gcWriteBarrier`
    47  	// arm64:-`.*runtime[.]gcWriteBarrier`
    48  	p[1] = b
    49  	// amd64:-`.*runtime[.]gcWriteBarrier`
    50  	// arm64:-`.*runtime[.]gcWriteBarrier`
    51  	p[2] = c
    52  	// amd64:-`.*runtime[.]gcWriteBarrier`
    53  	// arm64:-`.*runtime[.]gcWriteBarrier`
    54  	p[3] = d
    55  }
    56  

View as plain text