Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
append_freegc.go218 linesDownload Raw Back to codegen
1// asmcheck2 3//go:build goexperiment.runtimefreegc4 5// Copyright 2025 The Go Authors. All rights reserved.6// Use of this source code is governed by a BSD-style7// license that can be found in the LICENSE file.8 9package codegen10 11func Append1(n int) []int {12	var r []int13	for i := range n {14		// amd64:`.*growsliceNoAlias\b`15		r = append(r, i)16	}17	// amd64:`.*moveSliceNoCapNoScan\b`18	return r19}20 21func Append2(n int) (r []int) {22	for i := range n {23		// amd64:`.*growslice\b`24		r = append(r, i)25	}26	// amd64:`.*moveSliceNoCapNoScan\b`27	return28}29 30func Append3(n int) (r []int) {31	for i := range n {32		// amd64:`.*growslice\b`33		r = append(r, i)34	}35	// amd64:`.*moveSliceNoCapNoScan\b`36	return r37}38 39func Append4(n int) []int {40	var r []int41	for i := range n {42		// amd64:`.*growsliceBufNoAlias\b`43		r = append(r, i)44	}45	println(cap(r))46	// amd64:`.*moveSliceNoScan\b`47	return r48}49 50func Append5(n int) []int {51	var r []int52	for i := range n {53		// amd64:`.*growsliceBufNoAlias\b`54		r = append(r, i)55	}56	useSlice(r)57	// amd64:`.*moveSliceNoScan\b`58	return r59}60 61func Append5b(n int) []int {62	var r []int63	useSlice(r)64	for i := range n {65		// amd64:`.*growsliceBuf\b` -`.*growsliceBufNoAlias\b`66		r = append(r, i)67	}68	// amd64:`.*moveSliceNoScan\b`69	return r70}71 72func Append6(n int) []*int {73	var r []*int74	for i := range n {75		// TODO(thepudds): for now, the compiler only uses the NoAlias version76		// for element types without pointers.77		// amd64:`.*growslice\b`78		r = append(r, new(i))79	}80	// amd64:`.*moveSliceNoCap\b`81	return r82}83 84func Append7(n int) []*int {85	var r []*int86	for i := range n {87		// TODO(thepudds): for now, the compiler only uses the NoAlias version88		// for element types without pointers.89		// amd64:`.*growsliceBuf\b`90		r = append(r, new(i))91	}92	println(cap(r))93	// amd64:`.*moveSlice\b`94	return r95}96 97func Append8(n int, p *[]int) {98	var r []int99	for i := range n {100		// amd64:`.*growsliceNoAlias\b`101		r = append(r, i)102	}103	// amd64:`.*moveSliceNoCapNoScan\b`104	*p = r105}106 107func Append8b(n int, p *[]int) {108	var r []int109	// amd64:`.*moveSliceNoCapNoScan\b`110	*p = r111	for i := range n {112		// amd64:`.*growslice\b` -`.*growsliceNoAlias\b`113		r = append(r, i)114	}115}116 117func Append9(n int) []int {118	var r []int119	for i := range n {120		// amd64:`.*growsliceNoAlias\b`121		r = append(r, i)122	}123	println(len(r))124	// amd64:`.*moveSliceNoCapNoScan\b`125	return r126}127 128func Append10(n int) []int {129	var r []int130	for i := range n {131		// amd64:`.*growsliceNoAlias\b`132		r = append(r, i)133	}134	println(r[3])135	// amd64:`.*moveSliceNoCapNoScan\b`136	return r137}138 139func Append11(n int) []int {140	var r []int141	for i := range n {142		// amd64:`.*growsliceBufNoAlias\b`143		r = append(r, i)144	}145	r = r[3:5]146	// amd64:`.*moveSliceNoScan\b`147	return r148}149 150func Append12(n int) []int {151	var r []int152	r = nil153	for i := range n {154		// amd64:`.*growslice\b`155		r = append(r, i)156	}157	// amd64:`.*moveSliceNoCapNoScan\b`158	return r159}160 161func Append13(n int) []int {162	var r []int163	r, r = nil, nil164	for i := range n {165		// amd64:`.*growslice\b`166		r = append(r, i)167	}168	// amd64:`.*moveSliceNoCapNoScan\b`169	return r170}171 172func Append14(n int) []int {173	var r []int174	r = []int{3, 4, 5}175	for i := range n {176		// amd64:`.*growsliceBufNoAlias\b`177		r = append(r, i)178	}179	// amd64:`.*moveSliceNoScan\b`180	return r181}182 183func Append15(n int) []int {184	r := []int{3, 4, 5}185	for i := range n {186		// amd64:`.*growsliceBufNoAlias\b`187		r = append(r, i)188	}189	// amd64:`.*moveSliceNoScan\b`190	return r191}192 193func Append16(r []int, n int) []int {194	for i := range n {195		// amd64:`.*growslice\b`196		r = append(r, i)197	}198	// amd64:`.*moveSliceNoCapNoScan\b`199	return r200}201 202func Append17(n int) []int {203	var r []int204	for i := range n {205		// amd64:`.*growsliceNoAlias\b`206		r = append(r, i)207	}208	for i, x := range r {209		println(i, x)210	}211	// amd64:`.*moveSliceNoCapNoScan\b`212	return r213}214 215//go:noinline216func useSlice(s []int) {217}218