-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcallback.go
1738 lines (1712 loc) · 110 KB
/
callback.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package cgotest
/*
void callback(void *f);
void callGoFoo(void);
void callGoStackCheck(void);
void callPanic(void);
int callGoReturnVal(void);
int returnAfterGrow(void);
int returnAfterGrowFromGo(void);
*/
import "C"
import (
"path"
"runtime"
"strings"
"testing"
"unsafe"
)
// nestedCall calls into C, back into Go, and finally to f.
func nestedCall(f func()) {
// NOTE: Depends on representation of f.
// callback(x) calls goCallback(x)
C.callback(*(*unsafe.Pointer)(unsafe.Pointer(&f)))
}
//export goCallback
func goCallback(p unsafe.Pointer) {
(*(*func())(unsafe.Pointer(&p)))()
}
func testCallback(t *testing.T) {
var x = false
nestedCall(func() { x = true })
if !x {
t.Fatal("nestedCall did not call func")
}
}
func testCallbackGC(t *testing.T) {
nestedCall(runtime.GC)
}
func testCallbackPanic(t *testing.T) {
// Make sure panic during callback unwinds properly.
if lockedOSThread() {
t.Fatal("locked OS thread on entry to TestCallbackPanic")
}
defer func() {
s := recover()
if s == nil {
t.Fatal("did not panic")
}
if s.(string) != "callback panic" {
t.Fatal("wrong panic:", s)
}
if lockedOSThread() {
t.Fatal("locked OS thread on exit from TestCallbackPanic")
}
}()
nestedCall(func() { panic("callback panic") })
panic("nestedCall returned")
}
func testCallbackPanicLoop(t *testing.T) {
// Make sure we don't blow out m->g0 stack.
for i := 0; i < 100000; i++ {
testCallbackPanic(t)
}
}
func testCallbackPanicLocked(t *testing.T) {
runtime.LockOSThread()
defer runtime.UnlockOSThread()
if !lockedOSThread() {
t.Fatal("runtime.LockOSThread didn't")
}
defer func() {
s := recover()
if s == nil {
t.Fatal("did not panic")
}
if s.(string) != "callback panic" {
t.Fatal("wrong panic:", s)
}
if !lockedOSThread() {
t.Fatal("lost lock on OS thread after panic")
}
}()
nestedCall(func() { panic("callback panic") })
panic("nestedCall returned")
}
// Callback with zero arguments used to make the stack misaligned,
// which broke the garbage collector and other things.
func testZeroArgCallback(t *testing.T) {
defer func() {
s := recover()
if s != nil {
t.Fatal("panic during callback:", s)
}
}()
C.callGoFoo()
}
//export goFoo
func goFoo() {
x := 1
for i := 0; i < 10000; i++ {
// variadic call mallocs + writes to
variadic(x, x, x)
if x != 1 {
panic("bad x")
}
}
}
func variadic(x ...interface{}) {}
func testBlocking(t *testing.T) {
c := make(chan int)
go func() {
for i := 0; i < 10; i++ {
c <- <-c
}
}()
nestedCall(func() {
for i := 0; i < 10; i++ {
c <- i
if j := <-c; j != i {
t.Errorf("out of sync %d != %d", j, i)
}
}
})
}
// Test that the stack can be unwound through a call out and call back
// into Go.
func testCallbackCallers(t *testing.T) {
if runtime.Compiler != "gc" {
// The exact function names are not going to be the same.
t.Skip("skipping for non-gc toolchain")
}
pc := make([]uintptr, 100)
n := 0
name := []string{
"test.goCallback",
"runtime.call16",
"runtime.cgocallbackg1",
"runtime.cgocallbackg",
"runtime.cgocallback_gofunc",
"runtime.asmcgocall",
"runtime.cgocall",
"test._Cfunc_callback",
"test.nestedCall",
"test.testCallbackCallers",
"test.TestCallbackCallers",
"testing.tRunner",
"runtime.goexit",
}
if unsafe.Sizeof((*byte)(nil)) == 8 {
name[1] = "runtime.call32"
}
nestedCall(func() {
n = runtime.Callers(2, pc)
})
if n != len(name) {
t.Errorf("expected %d frames, got %d", len(name), n)
}
for i := 0; i < n; i++ {
f := runtime.FuncForPC(pc[i])
if f == nil {
t.Fatalf("expected non-nil Func for pc %d", pc[i])
}
fname := f.Name()
// Remove the prepended pathname from automatically
// generated cgo function names.
if strings.HasPrefix(fname, "_") {
fname = path.Base(f.Name()[1:])
}
namei := ""
if i < len(name) {
namei = name[i]
}
if fname != namei {
t.Errorf("stk[%d] = %q, want %q", i, fname, namei)
}
}
}
func testPanicFromC(t *testing.T) {
defer func() {
r := recover()
if r == nil {
t.Fatal("did not panic")
}
if r.(string) != "panic from C" {
t.Fatal("wrong panic:", r)
}
}()
C.callPanic()
}
// Test that C code can return a value if it calls a Go function that
// causes a stack copy.
func testReturnAfterGrow(t *testing.T) {
// Use a new goroutine so that we get a small stack.
c := make(chan int)
go func() {
c <- int(C.returnAfterGrow())
}()
if got, want := <-c, 123456; got != want {
t.Errorf("got %d want %d", got, want)
}
}
// Test that we can return a value from Go->C->Go if the Go code
// causes a stack copy.
func testReturnAfterGrowFromGo(t *testing.T) {
// Use a new goroutine so that we get a small stack.
c := make(chan int)
go func() {
c <- int(C.returnAfterGrowFromGo())
}()
if got, want := <-c, 129*128/2; got != want {
t.Errorf("got %d want %d", got, want)
}
}
//export goReturnVal
func goReturnVal() (r C.int) {
// Force a stack copy.
var f func(int) int
f = func(i int) int {
var buf [256]byte
use(buf[:])
if i == 0 {
return 0
}
return i + f(i-1)
}
r = C.int(f(128))
return
}
func testCallbackStack(t *testing.T) {
// Make cgo call and callback with different amount of stack stack available.
// We do not do any explicit checks, just ensure that it does not crash.
for _, f := range splitTests {
f()
}
}
//export goStackCheck
func goStackCheck() {
// use some stack memory to trigger split stack check
var buf [256]byte
use(buf[:])
}
var Used byte
func use(buf []byte) {
for _, c := range buf {
Used += c
}
}
var splitTests = []func(){
// Edit .+1,/^}/-1|seq 4 4 5000 | sed 's/.*/ stack&,/' | fmt
stack4, stack8, stack12, stack16, stack20, stack24, stack28,
stack32, stack36, stack40, stack44, stack48, stack52, stack56,
stack60, stack64, stack68, stack72, stack76, stack80, stack84,
stack88, stack92, stack96, stack100, stack104, stack108, stack112,
stack116, stack120, stack124, stack128, stack132, stack136,
stack140, stack144, stack148, stack152, stack156, stack160,
stack164, stack168, stack172, stack176, stack180, stack184,
stack188, stack192, stack196, stack200, stack204, stack208,
stack212, stack216, stack220, stack224, stack228, stack232,
stack236, stack240, stack244, stack248, stack252, stack256,
stack260, stack264, stack268, stack272, stack276, stack280,
stack284, stack288, stack292, stack296, stack300, stack304,
stack308, stack312, stack316, stack320, stack324, stack328,
stack332, stack336, stack340, stack344, stack348, stack352,
stack356, stack360, stack364, stack368, stack372, stack376,
stack380, stack384, stack388, stack392, stack396, stack400,
stack404, stack408, stack412, stack416, stack420, stack424,
stack428, stack432, stack436, stack440, stack444, stack448,
stack452, stack456, stack460, stack464, stack468, stack472,
stack476, stack480, stack484, stack488, stack492, stack496,
stack500, stack504, stack508, stack512, stack516, stack520,
stack524, stack528, stack532, stack536, stack540, stack544,
stack548, stack552, stack556, stack560, stack564, stack568,
stack572, stack576, stack580, stack584, stack588, stack592,
stack596, stack600, stack604, stack608, stack612, stack616,
stack620, stack624, stack628, stack632, stack636, stack640,
stack644, stack648, stack652, stack656, stack660, stack664,
stack668, stack672, stack676, stack680, stack684, stack688,
stack692, stack696, stack700, stack704, stack708, stack712,
stack716, stack720, stack724, stack728, stack732, stack736,
stack740, stack744, stack748, stack752, stack756, stack760,
stack764, stack768, stack772, stack776, stack780, stack784,
stack788, stack792, stack796, stack800, stack804, stack808,
stack812, stack816, stack820, stack824, stack828, stack832,
stack836, stack840, stack844, stack848, stack852, stack856,
stack860, stack864, stack868, stack872, stack876, stack880,
stack884, stack888, stack892, stack896, stack900, stack904,
stack908, stack912, stack916, stack920, stack924, stack928,
stack932, stack936, stack940, stack944, stack948, stack952,
stack956, stack960, stack964, stack968, stack972, stack976,
stack980, stack984, stack988, stack992, stack996, stack1000,
stack1004, stack1008, stack1012, stack1016, stack1020, stack1024,
stack1028, stack1032, stack1036, stack1040, stack1044, stack1048,
stack1052, stack1056, stack1060, stack1064, stack1068, stack1072,
stack1076, stack1080, stack1084, stack1088, stack1092, stack1096,
stack1100, stack1104, stack1108, stack1112, stack1116, stack1120,
stack1124, stack1128, stack1132, stack1136, stack1140, stack1144,
stack1148, stack1152, stack1156, stack1160, stack1164, stack1168,
stack1172, stack1176, stack1180, stack1184, stack1188, stack1192,
stack1196, stack1200, stack1204, stack1208, stack1212, stack1216,
stack1220, stack1224, stack1228, stack1232, stack1236, stack1240,
stack1244, stack1248, stack1252, stack1256, stack1260, stack1264,
stack1268, stack1272, stack1276, stack1280, stack1284, stack1288,
stack1292, stack1296, stack1300, stack1304, stack1308, stack1312,
stack1316, stack1320, stack1324, stack1328, stack1332, stack1336,
stack1340, stack1344, stack1348, stack1352, stack1356, stack1360,
stack1364, stack1368, stack1372, stack1376, stack1380, stack1384,
stack1388, stack1392, stack1396, stack1400, stack1404, stack1408,
stack1412, stack1416, stack1420, stack1424, stack1428, stack1432,
stack1436, stack1440, stack1444, stack1448, stack1452, stack1456,
stack1460, stack1464, stack1468, stack1472, stack1476, stack1480,
stack1484, stack1488, stack1492, stack1496, stack1500, stack1504,
stack1508, stack1512, stack1516, stack1520, stack1524, stack1528,
stack1532, stack1536, stack1540, stack1544, stack1548, stack1552,
stack1556, stack1560, stack1564, stack1568, stack1572, stack1576,
stack1580, stack1584, stack1588, stack1592, stack1596, stack1600,
stack1604, stack1608, stack1612, stack1616, stack1620, stack1624,
stack1628, stack1632, stack1636, stack1640, stack1644, stack1648,
stack1652, stack1656, stack1660, stack1664, stack1668, stack1672,
stack1676, stack1680, stack1684, stack1688, stack1692, stack1696,
stack1700, stack1704, stack1708, stack1712, stack1716, stack1720,
stack1724, stack1728, stack1732, stack1736, stack1740, stack1744,
stack1748, stack1752, stack1756, stack1760, stack1764, stack1768,
stack1772, stack1776, stack1780, stack1784, stack1788, stack1792,
stack1796, stack1800, stack1804, stack1808, stack1812, stack1816,
stack1820, stack1824, stack1828, stack1832, stack1836, stack1840,
stack1844, stack1848, stack1852, stack1856, stack1860, stack1864,
stack1868, stack1872, stack1876, stack1880, stack1884, stack1888,
stack1892, stack1896, stack1900, stack1904, stack1908, stack1912,
stack1916, stack1920, stack1924, stack1928, stack1932, stack1936,
stack1940, stack1944, stack1948, stack1952, stack1956, stack1960,
stack1964, stack1968, stack1972, stack1976, stack1980, stack1984,
stack1988, stack1992, stack1996, stack2000, stack2004, stack2008,
stack2012, stack2016, stack2020, stack2024, stack2028, stack2032,
stack2036, stack2040, stack2044, stack2048, stack2052, stack2056,
stack2060, stack2064, stack2068, stack2072, stack2076, stack2080,
stack2084, stack2088, stack2092, stack2096, stack2100, stack2104,
stack2108, stack2112, stack2116, stack2120, stack2124, stack2128,
stack2132, stack2136, stack2140, stack2144, stack2148, stack2152,
stack2156, stack2160, stack2164, stack2168, stack2172, stack2176,
stack2180, stack2184, stack2188, stack2192, stack2196, stack2200,
stack2204, stack2208, stack2212, stack2216, stack2220, stack2224,
stack2228, stack2232, stack2236, stack2240, stack2244, stack2248,
stack2252, stack2256, stack2260, stack2264, stack2268, stack2272,
stack2276, stack2280, stack2284, stack2288, stack2292, stack2296,
stack2300, stack2304, stack2308, stack2312, stack2316, stack2320,
stack2324, stack2328, stack2332, stack2336, stack2340, stack2344,
stack2348, stack2352, stack2356, stack2360, stack2364, stack2368,
stack2372, stack2376, stack2380, stack2384, stack2388, stack2392,
stack2396, stack2400, stack2404, stack2408, stack2412, stack2416,
stack2420, stack2424, stack2428, stack2432, stack2436, stack2440,
stack2444, stack2448, stack2452, stack2456, stack2460, stack2464,
stack2468, stack2472, stack2476, stack2480, stack2484, stack2488,
stack2492, stack2496, stack2500, stack2504, stack2508, stack2512,
stack2516, stack2520, stack2524, stack2528, stack2532, stack2536,
stack2540, stack2544, stack2548, stack2552, stack2556, stack2560,
stack2564, stack2568, stack2572, stack2576, stack2580, stack2584,
stack2588, stack2592, stack2596, stack2600, stack2604, stack2608,
stack2612, stack2616, stack2620, stack2624, stack2628, stack2632,
stack2636, stack2640, stack2644, stack2648, stack2652, stack2656,
stack2660, stack2664, stack2668, stack2672, stack2676, stack2680,
stack2684, stack2688, stack2692, stack2696, stack2700, stack2704,
stack2708, stack2712, stack2716, stack2720, stack2724, stack2728,
stack2732, stack2736, stack2740, stack2744, stack2748, stack2752,
stack2756, stack2760, stack2764, stack2768, stack2772, stack2776,
stack2780, stack2784, stack2788, stack2792, stack2796, stack2800,
stack2804, stack2808, stack2812, stack2816, stack2820, stack2824,
stack2828, stack2832, stack2836, stack2840, stack2844, stack2848,
stack2852, stack2856, stack2860, stack2864, stack2868, stack2872,
stack2876, stack2880, stack2884, stack2888, stack2892, stack2896,
stack2900, stack2904, stack2908, stack2912, stack2916, stack2920,
stack2924, stack2928, stack2932, stack2936, stack2940, stack2944,
stack2948, stack2952, stack2956, stack2960, stack2964, stack2968,
stack2972, stack2976, stack2980, stack2984, stack2988, stack2992,
stack2996, stack3000, stack3004, stack3008, stack3012, stack3016,
stack3020, stack3024, stack3028, stack3032, stack3036, stack3040,
stack3044, stack3048, stack3052, stack3056, stack3060, stack3064,
stack3068, stack3072, stack3076, stack3080, stack3084, stack3088,
stack3092, stack3096, stack3100, stack3104, stack3108, stack3112,
stack3116, stack3120, stack3124, stack3128, stack3132, stack3136,
stack3140, stack3144, stack3148, stack3152, stack3156, stack3160,
stack3164, stack3168, stack3172, stack3176, stack3180, stack3184,
stack3188, stack3192, stack3196, stack3200, stack3204, stack3208,
stack3212, stack3216, stack3220, stack3224, stack3228, stack3232,
stack3236, stack3240, stack3244, stack3248, stack3252, stack3256,
stack3260, stack3264, stack3268, stack3272, stack3276, stack3280,
stack3284, stack3288, stack3292, stack3296, stack3300, stack3304,
stack3308, stack3312, stack3316, stack3320, stack3324, stack3328,
stack3332, stack3336, stack3340, stack3344, stack3348, stack3352,
stack3356, stack3360, stack3364, stack3368, stack3372, stack3376,
stack3380, stack3384, stack3388, stack3392, stack3396, stack3400,
stack3404, stack3408, stack3412, stack3416, stack3420, stack3424,
stack3428, stack3432, stack3436, stack3440, stack3444, stack3448,
stack3452, stack3456, stack3460, stack3464, stack3468, stack3472,
stack3476, stack3480, stack3484, stack3488, stack3492, stack3496,
stack3500, stack3504, stack3508, stack3512, stack3516, stack3520,
stack3524, stack3528, stack3532, stack3536, stack3540, stack3544,
stack3548, stack3552, stack3556, stack3560, stack3564, stack3568,
stack3572, stack3576, stack3580, stack3584, stack3588, stack3592,
stack3596, stack3600, stack3604, stack3608, stack3612, stack3616,
stack3620, stack3624, stack3628, stack3632, stack3636, stack3640,
stack3644, stack3648, stack3652, stack3656, stack3660, stack3664,
stack3668, stack3672, stack3676, stack3680, stack3684, stack3688,
stack3692, stack3696, stack3700, stack3704, stack3708, stack3712,
stack3716, stack3720, stack3724, stack3728, stack3732, stack3736,
stack3740, stack3744, stack3748, stack3752, stack3756, stack3760,
stack3764, stack3768, stack3772, stack3776, stack3780, stack3784,
stack3788, stack3792, stack3796, stack3800, stack3804, stack3808,
stack3812, stack3816, stack3820, stack3824, stack3828, stack3832,
stack3836, stack3840, stack3844, stack3848, stack3852, stack3856,
stack3860, stack3864, stack3868, stack3872, stack3876, stack3880,
stack3884, stack3888, stack3892, stack3896, stack3900, stack3904,
stack3908, stack3912, stack3916, stack3920, stack3924, stack3928,
stack3932, stack3936, stack3940, stack3944, stack3948, stack3952,
stack3956, stack3960, stack3964, stack3968, stack3972, stack3976,
stack3980, stack3984, stack3988, stack3992, stack3996, stack4000,
stack4004, stack4008, stack4012, stack4016, stack4020, stack4024,
stack4028, stack4032, stack4036, stack4040, stack4044, stack4048,
stack4052, stack4056, stack4060, stack4064, stack4068, stack4072,
stack4076, stack4080, stack4084, stack4088, stack4092, stack4096,
stack4100, stack4104, stack4108, stack4112, stack4116, stack4120,
stack4124, stack4128, stack4132, stack4136, stack4140, stack4144,
stack4148, stack4152, stack4156, stack4160, stack4164, stack4168,
stack4172, stack4176, stack4180, stack4184, stack4188, stack4192,
stack4196, stack4200, stack4204, stack4208, stack4212, stack4216,
stack4220, stack4224, stack4228, stack4232, stack4236, stack4240,
stack4244, stack4248, stack4252, stack4256, stack4260, stack4264,
stack4268, stack4272, stack4276, stack4280, stack4284, stack4288,
stack4292, stack4296, stack4300, stack4304, stack4308, stack4312,
stack4316, stack4320, stack4324, stack4328, stack4332, stack4336,
stack4340, stack4344, stack4348, stack4352, stack4356, stack4360,
stack4364, stack4368, stack4372, stack4376, stack4380, stack4384,
stack4388, stack4392, stack4396, stack4400, stack4404, stack4408,
stack4412, stack4416, stack4420, stack4424, stack4428, stack4432,
stack4436, stack4440, stack4444, stack4448, stack4452, stack4456,
stack4460, stack4464, stack4468, stack4472, stack4476, stack4480,
stack4484, stack4488, stack4492, stack4496, stack4500, stack4504,
stack4508, stack4512, stack4516, stack4520, stack4524, stack4528,
stack4532, stack4536, stack4540, stack4544, stack4548, stack4552,
stack4556, stack4560, stack4564, stack4568, stack4572, stack4576,
stack4580, stack4584, stack4588, stack4592, stack4596, stack4600,
stack4604, stack4608, stack4612, stack4616, stack4620, stack4624,
stack4628, stack4632, stack4636, stack4640, stack4644, stack4648,
stack4652, stack4656, stack4660, stack4664, stack4668, stack4672,
stack4676, stack4680, stack4684, stack4688, stack4692, stack4696,
stack4700, stack4704, stack4708, stack4712, stack4716, stack4720,
stack4724, stack4728, stack4732, stack4736, stack4740, stack4744,
stack4748, stack4752, stack4756, stack4760, stack4764, stack4768,
stack4772, stack4776, stack4780, stack4784, stack4788, stack4792,
stack4796, stack4800, stack4804, stack4808, stack4812, stack4816,
stack4820, stack4824, stack4828, stack4832, stack4836, stack4840,
stack4844, stack4848, stack4852, stack4856, stack4860, stack4864,
stack4868, stack4872, stack4876, stack4880, stack4884, stack4888,
stack4892, stack4896, stack4900, stack4904, stack4908, stack4912,
stack4916, stack4920, stack4924, stack4928, stack4932, stack4936,
stack4940, stack4944, stack4948, stack4952, stack4956, stack4960,
stack4964, stack4968, stack4972, stack4976, stack4980, stack4984,
stack4988, stack4992, stack4996, stack5000,
}
// Edit .+1,$ | seq 4 4 5000 | sed 's/.*/func stack&() { var buf [&]byte; use(buf[:]); C.callGoStackCheck() }/'
func stack4() { var buf [4]byte; use(buf[:]); C.callGoStackCheck() }
func stack8() { var buf [8]byte; use(buf[:]); C.callGoStackCheck() }
func stack12() { var buf [12]byte; use(buf[:]); C.callGoStackCheck() }
func stack16() { var buf [16]byte; use(buf[:]); C.callGoStackCheck() }
func stack20() { var buf [20]byte; use(buf[:]); C.callGoStackCheck() }
func stack24() { var buf [24]byte; use(buf[:]); C.callGoStackCheck() }
func stack28() { var buf [28]byte; use(buf[:]); C.callGoStackCheck() }
func stack32() { var buf [32]byte; use(buf[:]); C.callGoStackCheck() }
func stack36() { var buf [36]byte; use(buf[:]); C.callGoStackCheck() }
func stack40() { var buf [40]byte; use(buf[:]); C.callGoStackCheck() }
func stack44() { var buf [44]byte; use(buf[:]); C.callGoStackCheck() }
func stack48() { var buf [48]byte; use(buf[:]); C.callGoStackCheck() }
func stack52() { var buf [52]byte; use(buf[:]); C.callGoStackCheck() }
func stack56() { var buf [56]byte; use(buf[:]); C.callGoStackCheck() }
func stack60() { var buf [60]byte; use(buf[:]); C.callGoStackCheck() }
func stack64() { var buf [64]byte; use(buf[:]); C.callGoStackCheck() }
func stack68() { var buf [68]byte; use(buf[:]); C.callGoStackCheck() }
func stack72() { var buf [72]byte; use(buf[:]); C.callGoStackCheck() }
func stack76() { var buf [76]byte; use(buf[:]); C.callGoStackCheck() }
func stack80() { var buf [80]byte; use(buf[:]); C.callGoStackCheck() }
func stack84() { var buf [84]byte; use(buf[:]); C.callGoStackCheck() }
func stack88() { var buf [88]byte; use(buf[:]); C.callGoStackCheck() }
func stack92() { var buf [92]byte; use(buf[:]); C.callGoStackCheck() }
func stack96() { var buf [96]byte; use(buf[:]); C.callGoStackCheck() }
func stack100() { var buf [100]byte; use(buf[:]); C.callGoStackCheck() }
func stack104() { var buf [104]byte; use(buf[:]); C.callGoStackCheck() }
func stack108() { var buf [108]byte; use(buf[:]); C.callGoStackCheck() }
func stack112() { var buf [112]byte; use(buf[:]); C.callGoStackCheck() }
func stack116() { var buf [116]byte; use(buf[:]); C.callGoStackCheck() }
func stack120() { var buf [120]byte; use(buf[:]); C.callGoStackCheck() }
func stack124() { var buf [124]byte; use(buf[:]); C.callGoStackCheck() }
func stack128() { var buf [128]byte; use(buf[:]); C.callGoStackCheck() }
func stack132() { var buf [132]byte; use(buf[:]); C.callGoStackCheck() }
func stack136() { var buf [136]byte; use(buf[:]); C.callGoStackCheck() }
func stack140() { var buf [140]byte; use(buf[:]); C.callGoStackCheck() }
func stack144() { var buf [144]byte; use(buf[:]); C.callGoStackCheck() }
func stack148() { var buf [148]byte; use(buf[:]); C.callGoStackCheck() }
func stack152() { var buf [152]byte; use(buf[:]); C.callGoStackCheck() }
func stack156() { var buf [156]byte; use(buf[:]); C.callGoStackCheck() }
func stack160() { var buf [160]byte; use(buf[:]); C.callGoStackCheck() }
func stack164() { var buf [164]byte; use(buf[:]); C.callGoStackCheck() }
func stack168() { var buf [168]byte; use(buf[:]); C.callGoStackCheck() }
func stack172() { var buf [172]byte; use(buf[:]); C.callGoStackCheck() }
func stack176() { var buf [176]byte; use(buf[:]); C.callGoStackCheck() }
func stack180() { var buf [180]byte; use(buf[:]); C.callGoStackCheck() }
func stack184() { var buf [184]byte; use(buf[:]); C.callGoStackCheck() }
func stack188() { var buf [188]byte; use(buf[:]); C.callGoStackCheck() }
func stack192() { var buf [192]byte; use(buf[:]); C.callGoStackCheck() }
func stack196() { var buf [196]byte; use(buf[:]); C.callGoStackCheck() }
func stack200() { var buf [200]byte; use(buf[:]); C.callGoStackCheck() }
func stack204() { var buf [204]byte; use(buf[:]); C.callGoStackCheck() }
func stack208() { var buf [208]byte; use(buf[:]); C.callGoStackCheck() }
func stack212() { var buf [212]byte; use(buf[:]); C.callGoStackCheck() }
func stack216() { var buf [216]byte; use(buf[:]); C.callGoStackCheck() }
func stack220() { var buf [220]byte; use(buf[:]); C.callGoStackCheck() }
func stack224() { var buf [224]byte; use(buf[:]); C.callGoStackCheck() }
func stack228() { var buf [228]byte; use(buf[:]); C.callGoStackCheck() }
func stack232() { var buf [232]byte; use(buf[:]); C.callGoStackCheck() }
func stack236() { var buf [236]byte; use(buf[:]); C.callGoStackCheck() }
func stack240() { var buf [240]byte; use(buf[:]); C.callGoStackCheck() }
func stack244() { var buf [244]byte; use(buf[:]); C.callGoStackCheck() }
func stack248() { var buf [248]byte; use(buf[:]); C.callGoStackCheck() }
func stack252() { var buf [252]byte; use(buf[:]); C.callGoStackCheck() }
func stack256() { var buf [256]byte; use(buf[:]); C.callGoStackCheck() }
func stack260() { var buf [260]byte; use(buf[:]); C.callGoStackCheck() }
func stack264() { var buf [264]byte; use(buf[:]); C.callGoStackCheck() }
func stack268() { var buf [268]byte; use(buf[:]); C.callGoStackCheck() }
func stack272() { var buf [272]byte; use(buf[:]); C.callGoStackCheck() }
func stack276() { var buf [276]byte; use(buf[:]); C.callGoStackCheck() }
func stack280() { var buf [280]byte; use(buf[:]); C.callGoStackCheck() }
func stack284() { var buf [284]byte; use(buf[:]); C.callGoStackCheck() }
func stack288() { var buf [288]byte; use(buf[:]); C.callGoStackCheck() }
func stack292() { var buf [292]byte; use(buf[:]); C.callGoStackCheck() }
func stack296() { var buf [296]byte; use(buf[:]); C.callGoStackCheck() }
func stack300() { var buf [300]byte; use(buf[:]); C.callGoStackCheck() }
func stack304() { var buf [304]byte; use(buf[:]); C.callGoStackCheck() }
func stack308() { var buf [308]byte; use(buf[:]); C.callGoStackCheck() }
func stack312() { var buf [312]byte; use(buf[:]); C.callGoStackCheck() }
func stack316() { var buf [316]byte; use(buf[:]); C.callGoStackCheck() }
func stack320() { var buf [320]byte; use(buf[:]); C.callGoStackCheck() }
func stack324() { var buf [324]byte; use(buf[:]); C.callGoStackCheck() }
func stack328() { var buf [328]byte; use(buf[:]); C.callGoStackCheck() }
func stack332() { var buf [332]byte; use(buf[:]); C.callGoStackCheck() }
func stack336() { var buf [336]byte; use(buf[:]); C.callGoStackCheck() }
func stack340() { var buf [340]byte; use(buf[:]); C.callGoStackCheck() }
func stack344() { var buf [344]byte; use(buf[:]); C.callGoStackCheck() }
func stack348() { var buf [348]byte; use(buf[:]); C.callGoStackCheck() }
func stack352() { var buf [352]byte; use(buf[:]); C.callGoStackCheck() }
func stack356() { var buf [356]byte; use(buf[:]); C.callGoStackCheck() }
func stack360() { var buf [360]byte; use(buf[:]); C.callGoStackCheck() }
func stack364() { var buf [364]byte; use(buf[:]); C.callGoStackCheck() }
func stack368() { var buf [368]byte; use(buf[:]); C.callGoStackCheck() }
func stack372() { var buf [372]byte; use(buf[:]); C.callGoStackCheck() }
func stack376() { var buf [376]byte; use(buf[:]); C.callGoStackCheck() }
func stack380() { var buf [380]byte; use(buf[:]); C.callGoStackCheck() }
func stack384() { var buf [384]byte; use(buf[:]); C.callGoStackCheck() }
func stack388() { var buf [388]byte; use(buf[:]); C.callGoStackCheck() }
func stack392() { var buf [392]byte; use(buf[:]); C.callGoStackCheck() }
func stack396() { var buf [396]byte; use(buf[:]); C.callGoStackCheck() }
func stack400() { var buf [400]byte; use(buf[:]); C.callGoStackCheck() }
func stack404() { var buf [404]byte; use(buf[:]); C.callGoStackCheck() }
func stack408() { var buf [408]byte; use(buf[:]); C.callGoStackCheck() }
func stack412() { var buf [412]byte; use(buf[:]); C.callGoStackCheck() }
func stack416() { var buf [416]byte; use(buf[:]); C.callGoStackCheck() }
func stack420() { var buf [420]byte; use(buf[:]); C.callGoStackCheck() }
func stack424() { var buf [424]byte; use(buf[:]); C.callGoStackCheck() }
func stack428() { var buf [428]byte; use(buf[:]); C.callGoStackCheck() }
func stack432() { var buf [432]byte; use(buf[:]); C.callGoStackCheck() }
func stack436() { var buf [436]byte; use(buf[:]); C.callGoStackCheck() }
func stack440() { var buf [440]byte; use(buf[:]); C.callGoStackCheck() }
func stack444() { var buf [444]byte; use(buf[:]); C.callGoStackCheck() }
func stack448() { var buf [448]byte; use(buf[:]); C.callGoStackCheck() }
func stack452() { var buf [452]byte; use(buf[:]); C.callGoStackCheck() }
func stack456() { var buf [456]byte; use(buf[:]); C.callGoStackCheck() }
func stack460() { var buf [460]byte; use(buf[:]); C.callGoStackCheck() }
func stack464() { var buf [464]byte; use(buf[:]); C.callGoStackCheck() }
func stack468() { var buf [468]byte; use(buf[:]); C.callGoStackCheck() }
func stack472() { var buf [472]byte; use(buf[:]); C.callGoStackCheck() }
func stack476() { var buf [476]byte; use(buf[:]); C.callGoStackCheck() }
func stack480() { var buf [480]byte; use(buf[:]); C.callGoStackCheck() }
func stack484() { var buf [484]byte; use(buf[:]); C.callGoStackCheck() }
func stack488() { var buf [488]byte; use(buf[:]); C.callGoStackCheck() }
func stack492() { var buf [492]byte; use(buf[:]); C.callGoStackCheck() }
func stack496() { var buf [496]byte; use(buf[:]); C.callGoStackCheck() }
func stack500() { var buf [500]byte; use(buf[:]); C.callGoStackCheck() }
func stack504() { var buf [504]byte; use(buf[:]); C.callGoStackCheck() }
func stack508() { var buf [508]byte; use(buf[:]); C.callGoStackCheck() }
func stack512() { var buf [512]byte; use(buf[:]); C.callGoStackCheck() }
func stack516() { var buf [516]byte; use(buf[:]); C.callGoStackCheck() }
func stack520() { var buf [520]byte; use(buf[:]); C.callGoStackCheck() }
func stack524() { var buf [524]byte; use(buf[:]); C.callGoStackCheck() }
func stack528() { var buf [528]byte; use(buf[:]); C.callGoStackCheck() }
func stack532() { var buf [532]byte; use(buf[:]); C.callGoStackCheck() }
func stack536() { var buf [536]byte; use(buf[:]); C.callGoStackCheck() }
func stack540() { var buf [540]byte; use(buf[:]); C.callGoStackCheck() }
func stack544() { var buf [544]byte; use(buf[:]); C.callGoStackCheck() }
func stack548() { var buf [548]byte; use(buf[:]); C.callGoStackCheck() }
func stack552() { var buf [552]byte; use(buf[:]); C.callGoStackCheck() }
func stack556() { var buf [556]byte; use(buf[:]); C.callGoStackCheck() }
func stack560() { var buf [560]byte; use(buf[:]); C.callGoStackCheck() }
func stack564() { var buf [564]byte; use(buf[:]); C.callGoStackCheck() }
func stack568() { var buf [568]byte; use(buf[:]); C.callGoStackCheck() }
func stack572() { var buf [572]byte; use(buf[:]); C.callGoStackCheck() }
func stack576() { var buf [576]byte; use(buf[:]); C.callGoStackCheck() }
func stack580() { var buf [580]byte; use(buf[:]); C.callGoStackCheck() }
func stack584() { var buf [584]byte; use(buf[:]); C.callGoStackCheck() }
func stack588() { var buf [588]byte; use(buf[:]); C.callGoStackCheck() }
func stack592() { var buf [592]byte; use(buf[:]); C.callGoStackCheck() }
func stack596() { var buf [596]byte; use(buf[:]); C.callGoStackCheck() }
func stack600() { var buf [600]byte; use(buf[:]); C.callGoStackCheck() }
func stack604() { var buf [604]byte; use(buf[:]); C.callGoStackCheck() }
func stack608() { var buf [608]byte; use(buf[:]); C.callGoStackCheck() }
func stack612() { var buf [612]byte; use(buf[:]); C.callGoStackCheck() }
func stack616() { var buf [616]byte; use(buf[:]); C.callGoStackCheck() }
func stack620() { var buf [620]byte; use(buf[:]); C.callGoStackCheck() }
func stack624() { var buf [624]byte; use(buf[:]); C.callGoStackCheck() }
func stack628() { var buf [628]byte; use(buf[:]); C.callGoStackCheck() }
func stack632() { var buf [632]byte; use(buf[:]); C.callGoStackCheck() }
func stack636() { var buf [636]byte; use(buf[:]); C.callGoStackCheck() }
func stack640() { var buf [640]byte; use(buf[:]); C.callGoStackCheck() }
func stack644() { var buf [644]byte; use(buf[:]); C.callGoStackCheck() }
func stack648() { var buf [648]byte; use(buf[:]); C.callGoStackCheck() }
func stack652() { var buf [652]byte; use(buf[:]); C.callGoStackCheck() }
func stack656() { var buf [656]byte; use(buf[:]); C.callGoStackCheck() }
func stack660() { var buf [660]byte; use(buf[:]); C.callGoStackCheck() }
func stack664() { var buf [664]byte; use(buf[:]); C.callGoStackCheck() }
func stack668() { var buf [668]byte; use(buf[:]); C.callGoStackCheck() }
func stack672() { var buf [672]byte; use(buf[:]); C.callGoStackCheck() }
func stack676() { var buf [676]byte; use(buf[:]); C.callGoStackCheck() }
func stack680() { var buf [680]byte; use(buf[:]); C.callGoStackCheck() }
func stack684() { var buf [684]byte; use(buf[:]); C.callGoStackCheck() }
func stack688() { var buf [688]byte; use(buf[:]); C.callGoStackCheck() }
func stack692() { var buf [692]byte; use(buf[:]); C.callGoStackCheck() }
func stack696() { var buf [696]byte; use(buf[:]); C.callGoStackCheck() }
func stack700() { var buf [700]byte; use(buf[:]); C.callGoStackCheck() }
func stack704() { var buf [704]byte; use(buf[:]); C.callGoStackCheck() }
func stack708() { var buf [708]byte; use(buf[:]); C.callGoStackCheck() }
func stack712() { var buf [712]byte; use(buf[:]); C.callGoStackCheck() }
func stack716() { var buf [716]byte; use(buf[:]); C.callGoStackCheck() }
func stack720() { var buf [720]byte; use(buf[:]); C.callGoStackCheck() }
func stack724() { var buf [724]byte; use(buf[:]); C.callGoStackCheck() }
func stack728() { var buf [728]byte; use(buf[:]); C.callGoStackCheck() }
func stack732() { var buf [732]byte; use(buf[:]); C.callGoStackCheck() }
func stack736() { var buf [736]byte; use(buf[:]); C.callGoStackCheck() }
func stack740() { var buf [740]byte; use(buf[:]); C.callGoStackCheck() }
func stack744() { var buf [744]byte; use(buf[:]); C.callGoStackCheck() }
func stack748() { var buf [748]byte; use(buf[:]); C.callGoStackCheck() }
func stack752() { var buf [752]byte; use(buf[:]); C.callGoStackCheck() }
func stack756() { var buf [756]byte; use(buf[:]); C.callGoStackCheck() }
func stack760() { var buf [760]byte; use(buf[:]); C.callGoStackCheck() }
func stack764() { var buf [764]byte; use(buf[:]); C.callGoStackCheck() }
func stack768() { var buf [768]byte; use(buf[:]); C.callGoStackCheck() }
func stack772() { var buf [772]byte; use(buf[:]); C.callGoStackCheck() }
func stack776() { var buf [776]byte; use(buf[:]); C.callGoStackCheck() }
func stack780() { var buf [780]byte; use(buf[:]); C.callGoStackCheck() }
func stack784() { var buf [784]byte; use(buf[:]); C.callGoStackCheck() }
func stack788() { var buf [788]byte; use(buf[:]); C.callGoStackCheck() }
func stack792() { var buf [792]byte; use(buf[:]); C.callGoStackCheck() }
func stack796() { var buf [796]byte; use(buf[:]); C.callGoStackCheck() }
func stack800() { var buf [800]byte; use(buf[:]); C.callGoStackCheck() }
func stack804() { var buf [804]byte; use(buf[:]); C.callGoStackCheck() }
func stack808() { var buf [808]byte; use(buf[:]); C.callGoStackCheck() }
func stack812() { var buf [812]byte; use(buf[:]); C.callGoStackCheck() }
func stack816() { var buf [816]byte; use(buf[:]); C.callGoStackCheck() }
func stack820() { var buf [820]byte; use(buf[:]); C.callGoStackCheck() }
func stack824() { var buf [824]byte; use(buf[:]); C.callGoStackCheck() }
func stack828() { var buf [828]byte; use(buf[:]); C.callGoStackCheck() }
func stack832() { var buf [832]byte; use(buf[:]); C.callGoStackCheck() }
func stack836() { var buf [836]byte; use(buf[:]); C.callGoStackCheck() }
func stack840() { var buf [840]byte; use(buf[:]); C.callGoStackCheck() }
func stack844() { var buf [844]byte; use(buf[:]); C.callGoStackCheck() }
func stack848() { var buf [848]byte; use(buf[:]); C.callGoStackCheck() }
func stack852() { var buf [852]byte; use(buf[:]); C.callGoStackCheck() }
func stack856() { var buf [856]byte; use(buf[:]); C.callGoStackCheck() }
func stack860() { var buf [860]byte; use(buf[:]); C.callGoStackCheck() }
func stack864() { var buf [864]byte; use(buf[:]); C.callGoStackCheck() }
func stack868() { var buf [868]byte; use(buf[:]); C.callGoStackCheck() }
func stack872() { var buf [872]byte; use(buf[:]); C.callGoStackCheck() }
func stack876() { var buf [876]byte; use(buf[:]); C.callGoStackCheck() }
func stack880() { var buf [880]byte; use(buf[:]); C.callGoStackCheck() }
func stack884() { var buf [884]byte; use(buf[:]); C.callGoStackCheck() }
func stack888() { var buf [888]byte; use(buf[:]); C.callGoStackCheck() }
func stack892() { var buf [892]byte; use(buf[:]); C.callGoStackCheck() }
func stack896() { var buf [896]byte; use(buf[:]); C.callGoStackCheck() }
func stack900() { var buf [900]byte; use(buf[:]); C.callGoStackCheck() }
func stack904() { var buf [904]byte; use(buf[:]); C.callGoStackCheck() }
func stack908() { var buf [908]byte; use(buf[:]); C.callGoStackCheck() }
func stack912() { var buf [912]byte; use(buf[:]); C.callGoStackCheck() }
func stack916() { var buf [916]byte; use(buf[:]); C.callGoStackCheck() }
func stack920() { var buf [920]byte; use(buf[:]); C.callGoStackCheck() }
func stack924() { var buf [924]byte; use(buf[:]); C.callGoStackCheck() }
func stack928() { var buf [928]byte; use(buf[:]); C.callGoStackCheck() }
func stack932() { var buf [932]byte; use(buf[:]); C.callGoStackCheck() }
func stack936() { var buf [936]byte; use(buf[:]); C.callGoStackCheck() }
func stack940() { var buf [940]byte; use(buf[:]); C.callGoStackCheck() }
func stack944() { var buf [944]byte; use(buf[:]); C.callGoStackCheck() }
func stack948() { var buf [948]byte; use(buf[:]); C.callGoStackCheck() }
func stack952() { var buf [952]byte; use(buf[:]); C.callGoStackCheck() }
func stack956() { var buf [956]byte; use(buf[:]); C.callGoStackCheck() }
func stack960() { var buf [960]byte; use(buf[:]); C.callGoStackCheck() }
func stack964() { var buf [964]byte; use(buf[:]); C.callGoStackCheck() }
func stack968() { var buf [968]byte; use(buf[:]); C.callGoStackCheck() }
func stack972() { var buf [972]byte; use(buf[:]); C.callGoStackCheck() }
func stack976() { var buf [976]byte; use(buf[:]); C.callGoStackCheck() }
func stack980() { var buf [980]byte; use(buf[:]); C.callGoStackCheck() }
func stack984() { var buf [984]byte; use(buf[:]); C.callGoStackCheck() }
func stack988() { var buf [988]byte; use(buf[:]); C.callGoStackCheck() }
func stack992() { var buf [992]byte; use(buf[:]); C.callGoStackCheck() }
func stack996() { var buf [996]byte; use(buf[:]); C.callGoStackCheck() }
func stack1000() { var buf [1000]byte; use(buf[:]); C.callGoStackCheck() }
func stack1004() { var buf [1004]byte; use(buf[:]); C.callGoStackCheck() }
func stack1008() { var buf [1008]byte; use(buf[:]); C.callGoStackCheck() }
func stack1012() { var buf [1012]byte; use(buf[:]); C.callGoStackCheck() }
func stack1016() { var buf [1016]byte; use(buf[:]); C.callGoStackCheck() }
func stack1020() { var buf [1020]byte; use(buf[:]); C.callGoStackCheck() }
func stack1024() { var buf [1024]byte; use(buf[:]); C.callGoStackCheck() }
func stack1028() { var buf [1028]byte; use(buf[:]); C.callGoStackCheck() }
func stack1032() { var buf [1032]byte; use(buf[:]); C.callGoStackCheck() }
func stack1036() { var buf [1036]byte; use(buf[:]); C.callGoStackCheck() }
func stack1040() { var buf [1040]byte; use(buf[:]); C.callGoStackCheck() }
func stack1044() { var buf [1044]byte; use(buf[:]); C.callGoStackCheck() }
func stack1048() { var buf [1048]byte; use(buf[:]); C.callGoStackCheck() }
func stack1052() { var buf [1052]byte; use(buf[:]); C.callGoStackCheck() }
func stack1056() { var buf [1056]byte; use(buf[:]); C.callGoStackCheck() }
func stack1060() { var buf [1060]byte; use(buf[:]); C.callGoStackCheck() }
func stack1064() { var buf [1064]byte; use(buf[:]); C.callGoStackCheck() }
func stack1068() { var buf [1068]byte; use(buf[:]); C.callGoStackCheck() }
func stack1072() { var buf [1072]byte; use(buf[:]); C.callGoStackCheck() }
func stack1076() { var buf [1076]byte; use(buf[:]); C.callGoStackCheck() }
func stack1080() { var buf [1080]byte; use(buf[:]); C.callGoStackCheck() }
func stack1084() { var buf [1084]byte; use(buf[:]); C.callGoStackCheck() }
func stack1088() { var buf [1088]byte; use(buf[:]); C.callGoStackCheck() }
func stack1092() { var buf [1092]byte; use(buf[:]); C.callGoStackCheck() }
func stack1096() { var buf [1096]byte; use(buf[:]); C.callGoStackCheck() }
func stack1100() { var buf [1100]byte; use(buf[:]); C.callGoStackCheck() }
func stack1104() { var buf [1104]byte; use(buf[:]); C.callGoStackCheck() }
func stack1108() { var buf [1108]byte; use(buf[:]); C.callGoStackCheck() }
func stack1112() { var buf [1112]byte; use(buf[:]); C.callGoStackCheck() }
func stack1116() { var buf [1116]byte; use(buf[:]); C.callGoStackCheck() }
func stack1120() { var buf [1120]byte; use(buf[:]); C.callGoStackCheck() }
func stack1124() { var buf [1124]byte; use(buf[:]); C.callGoStackCheck() }
func stack1128() { var buf [1128]byte; use(buf[:]); C.callGoStackCheck() }
func stack1132() { var buf [1132]byte; use(buf[:]); C.callGoStackCheck() }
func stack1136() { var buf [1136]byte; use(buf[:]); C.callGoStackCheck() }
func stack1140() { var buf [1140]byte; use(buf[:]); C.callGoStackCheck() }
func stack1144() { var buf [1144]byte; use(buf[:]); C.callGoStackCheck() }
func stack1148() { var buf [1148]byte; use(buf[:]); C.callGoStackCheck() }
func stack1152() { var buf [1152]byte; use(buf[:]); C.callGoStackCheck() }
func stack1156() { var buf [1156]byte; use(buf[:]); C.callGoStackCheck() }
func stack1160() { var buf [1160]byte; use(buf[:]); C.callGoStackCheck() }
func stack1164() { var buf [1164]byte; use(buf[:]); C.callGoStackCheck() }
func stack1168() { var buf [1168]byte; use(buf[:]); C.callGoStackCheck() }
func stack1172() { var buf [1172]byte; use(buf[:]); C.callGoStackCheck() }
func stack1176() { var buf [1176]byte; use(buf[:]); C.callGoStackCheck() }
func stack1180() { var buf [1180]byte; use(buf[:]); C.callGoStackCheck() }
func stack1184() { var buf [1184]byte; use(buf[:]); C.callGoStackCheck() }
func stack1188() { var buf [1188]byte; use(buf[:]); C.callGoStackCheck() }
func stack1192() { var buf [1192]byte; use(buf[:]); C.callGoStackCheck() }
func stack1196() { var buf [1196]byte; use(buf[:]); C.callGoStackCheck() }
func stack1200() { var buf [1200]byte; use(buf[:]); C.callGoStackCheck() }
func stack1204() { var buf [1204]byte; use(buf[:]); C.callGoStackCheck() }
func stack1208() { var buf [1208]byte; use(buf[:]); C.callGoStackCheck() }
func stack1212() { var buf [1212]byte; use(buf[:]); C.callGoStackCheck() }
func stack1216() { var buf [1216]byte; use(buf[:]); C.callGoStackCheck() }
func stack1220() { var buf [1220]byte; use(buf[:]); C.callGoStackCheck() }
func stack1224() { var buf [1224]byte; use(buf[:]); C.callGoStackCheck() }
func stack1228() { var buf [1228]byte; use(buf[:]); C.callGoStackCheck() }
func stack1232() { var buf [1232]byte; use(buf[:]); C.callGoStackCheck() }
func stack1236() { var buf [1236]byte; use(buf[:]); C.callGoStackCheck() }
func stack1240() { var buf [1240]byte; use(buf[:]); C.callGoStackCheck() }
func stack1244() { var buf [1244]byte; use(buf[:]); C.callGoStackCheck() }
func stack1248() { var buf [1248]byte; use(buf[:]); C.callGoStackCheck() }
func stack1252() { var buf [1252]byte; use(buf[:]); C.callGoStackCheck() }
func stack1256() { var buf [1256]byte; use(buf[:]); C.callGoStackCheck() }
func stack1260() { var buf [1260]byte; use(buf[:]); C.callGoStackCheck() }
func stack1264() { var buf [1264]byte; use(buf[:]); C.callGoStackCheck() }
func stack1268() { var buf [1268]byte; use(buf[:]); C.callGoStackCheck() }
func stack1272() { var buf [1272]byte; use(buf[:]); C.callGoStackCheck() }
func stack1276() { var buf [1276]byte; use(buf[:]); C.callGoStackCheck() }
func stack1280() { var buf [1280]byte; use(buf[:]); C.callGoStackCheck() }
func stack1284() { var buf [1284]byte; use(buf[:]); C.callGoStackCheck() }
func stack1288() { var buf [1288]byte; use(buf[:]); C.callGoStackCheck() }
func stack1292() { var buf [1292]byte; use(buf[:]); C.callGoStackCheck() }
func stack1296() { var buf [1296]byte; use(buf[:]); C.callGoStackCheck() }
func stack1300() { var buf [1300]byte; use(buf[:]); C.callGoStackCheck() }
func stack1304() { var buf [1304]byte; use(buf[:]); C.callGoStackCheck() }
func stack1308() { var buf [1308]byte; use(buf[:]); C.callGoStackCheck() }
func stack1312() { var buf [1312]byte; use(buf[:]); C.callGoStackCheck() }
func stack1316() { var buf [1316]byte; use(buf[:]); C.callGoStackCheck() }
func stack1320() { var buf [1320]byte; use(buf[:]); C.callGoStackCheck() }
func stack1324() { var buf [1324]byte; use(buf[:]); C.callGoStackCheck() }
func stack1328() { var buf [1328]byte; use(buf[:]); C.callGoStackCheck() }
func stack1332() { var buf [1332]byte; use(buf[:]); C.callGoStackCheck() }
func stack1336() { var buf [1336]byte; use(buf[:]); C.callGoStackCheck() }
func stack1340() { var buf [1340]byte; use(buf[:]); C.callGoStackCheck() }
func stack1344() { var buf [1344]byte; use(buf[:]); C.callGoStackCheck() }
func stack1348() { var buf [1348]byte; use(buf[:]); C.callGoStackCheck() }
func stack1352() { var buf [1352]byte; use(buf[:]); C.callGoStackCheck() }
func stack1356() { var buf [1356]byte; use(buf[:]); C.callGoStackCheck() }
func stack1360() { var buf [1360]byte; use(buf[:]); C.callGoStackCheck() }
func stack1364() { var buf [1364]byte; use(buf[:]); C.callGoStackCheck() }
func stack1368() { var buf [1368]byte; use(buf[:]); C.callGoStackCheck() }
func stack1372() { var buf [1372]byte; use(buf[:]); C.callGoStackCheck() }
func stack1376() { var buf [1376]byte; use(buf[:]); C.callGoStackCheck() }
func stack1380() { var buf [1380]byte; use(buf[:]); C.callGoStackCheck() }
func stack1384() { var buf [1384]byte; use(buf[:]); C.callGoStackCheck() }
func stack1388() { var buf [1388]byte; use(buf[:]); C.callGoStackCheck() }
func stack1392() { var buf [1392]byte; use(buf[:]); C.callGoStackCheck() }
func stack1396() { var buf [1396]byte; use(buf[:]); C.callGoStackCheck() }
func stack1400() { var buf [1400]byte; use(buf[:]); C.callGoStackCheck() }
func stack1404() { var buf [1404]byte; use(buf[:]); C.callGoStackCheck() }
func stack1408() { var buf [1408]byte; use(buf[:]); C.callGoStackCheck() }
func stack1412() { var buf [1412]byte; use(buf[:]); C.callGoStackCheck() }
func stack1416() { var buf [1416]byte; use(buf[:]); C.callGoStackCheck() }
func stack1420() { var buf [1420]byte; use(buf[:]); C.callGoStackCheck() }
func stack1424() { var buf [1424]byte; use(buf[:]); C.callGoStackCheck() }
func stack1428() { var buf [1428]byte; use(buf[:]); C.callGoStackCheck() }
func stack1432() { var buf [1432]byte; use(buf[:]); C.callGoStackCheck() }
func stack1436() { var buf [1436]byte; use(buf[:]); C.callGoStackCheck() }
func stack1440() { var buf [1440]byte; use(buf[:]); C.callGoStackCheck() }
func stack1444() { var buf [1444]byte; use(buf[:]); C.callGoStackCheck() }
func stack1448() { var buf [1448]byte; use(buf[:]); C.callGoStackCheck() }
func stack1452() { var buf [1452]byte; use(buf[:]); C.callGoStackCheck() }
func stack1456() { var buf [1456]byte; use(buf[:]); C.callGoStackCheck() }
func stack1460() { var buf [1460]byte; use(buf[:]); C.callGoStackCheck() }
func stack1464() { var buf [1464]byte; use(buf[:]); C.callGoStackCheck() }
func stack1468() { var buf [1468]byte; use(buf[:]); C.callGoStackCheck() }
func stack1472() { var buf [1472]byte; use(buf[:]); C.callGoStackCheck() }
func stack1476() { var buf [1476]byte; use(buf[:]); C.callGoStackCheck() }
func stack1480() { var buf [1480]byte; use(buf[:]); C.callGoStackCheck() }
func stack1484() { var buf [1484]byte; use(buf[:]); C.callGoStackCheck() }
func stack1488() { var buf [1488]byte; use(buf[:]); C.callGoStackCheck() }
func stack1492() { var buf [1492]byte; use(buf[:]); C.callGoStackCheck() }
func stack1496() { var buf [1496]byte; use(buf[:]); C.callGoStackCheck() }
func stack1500() { var buf [1500]byte; use(buf[:]); C.callGoStackCheck() }
func stack1504() { var buf [1504]byte; use(buf[:]); C.callGoStackCheck() }
func stack1508() { var buf [1508]byte; use(buf[:]); C.callGoStackCheck() }
func stack1512() { var buf [1512]byte; use(buf[:]); C.callGoStackCheck() }
func stack1516() { var buf [1516]byte; use(buf[:]); C.callGoStackCheck() }
func stack1520() { var buf [1520]byte; use(buf[:]); C.callGoStackCheck() }
func stack1524() { var buf [1524]byte; use(buf[:]); C.callGoStackCheck() }
func stack1528() { var buf [1528]byte; use(buf[:]); C.callGoStackCheck() }
func stack1532() { var buf [1532]byte; use(buf[:]); C.callGoStackCheck() }
func stack1536() { var buf [1536]byte; use(buf[:]); C.callGoStackCheck() }
func stack1540() { var buf [1540]byte; use(buf[:]); C.callGoStackCheck() }
func stack1544() { var buf [1544]byte; use(buf[:]); C.callGoStackCheck() }
func stack1548() { var buf [1548]byte; use(buf[:]); C.callGoStackCheck() }
func stack1552() { var buf [1552]byte; use(buf[:]); C.callGoStackCheck() }
func stack1556() { var buf [1556]byte; use(buf[:]); C.callGoStackCheck() }
func stack1560() { var buf [1560]byte; use(buf[:]); C.callGoStackCheck() }
func stack1564() { var buf [1564]byte; use(buf[:]); C.callGoStackCheck() }
func stack1568() { var buf [1568]byte; use(buf[:]); C.callGoStackCheck() }
func stack1572() { var buf [1572]byte; use(buf[:]); C.callGoStackCheck() }
func stack1576() { var buf [1576]byte; use(buf[:]); C.callGoStackCheck() }
func stack1580() { var buf [1580]byte; use(buf[:]); C.callGoStackCheck() }
func stack1584() { var buf [1584]byte; use(buf[:]); C.callGoStackCheck() }
func stack1588() { var buf [1588]byte; use(buf[:]); C.callGoStackCheck() }
func stack1592() { var buf [1592]byte; use(buf[:]); C.callGoStackCheck() }
func stack1596() { var buf [1596]byte; use(buf[:]); C.callGoStackCheck() }
func stack1600() { var buf [1600]byte; use(buf[:]); C.callGoStackCheck() }
func stack1604() { var buf [1604]byte; use(buf[:]); C.callGoStackCheck() }
func stack1608() { var buf [1608]byte; use(buf[:]); C.callGoStackCheck() }
func stack1612() { var buf [1612]byte; use(buf[:]); C.callGoStackCheck() }
func stack1616() { var buf [1616]byte; use(buf[:]); C.callGoStackCheck() }
func stack1620() { var buf [1620]byte; use(buf[:]); C.callGoStackCheck() }
func stack1624() { var buf [1624]byte; use(buf[:]); C.callGoStackCheck() }
func stack1628() { var buf [1628]byte; use(buf[:]); C.callGoStackCheck() }
func stack1632() { var buf [1632]byte; use(buf[:]); C.callGoStackCheck() }
func stack1636() { var buf [1636]byte; use(buf[:]); C.callGoStackCheck() }
func stack1640() { var buf [1640]byte; use(buf[:]); C.callGoStackCheck() }
func stack1644() { var buf [1644]byte; use(buf[:]); C.callGoStackCheck() }
func stack1648() { var buf [1648]byte; use(buf[:]); C.callGoStackCheck() }
func stack1652() { var buf [1652]byte; use(buf[:]); C.callGoStackCheck() }
func stack1656() { var buf [1656]byte; use(buf[:]); C.callGoStackCheck() }
func stack1660() { var buf [1660]byte; use(buf[:]); C.callGoStackCheck() }
func stack1664() { var buf [1664]byte; use(buf[:]); C.callGoStackCheck() }
func stack1668() { var buf [1668]byte; use(buf[:]); C.callGoStackCheck() }
func stack1672() { var buf [1672]byte; use(buf[:]); C.callGoStackCheck() }
func stack1676() { var buf [1676]byte; use(buf[:]); C.callGoStackCheck() }
func stack1680() { var buf [1680]byte; use(buf[:]); C.callGoStackCheck() }
func stack1684() { var buf [1684]byte; use(buf[:]); C.callGoStackCheck() }
func stack1688() { var buf [1688]byte; use(buf[:]); C.callGoStackCheck() }
func stack1692() { var buf [1692]byte; use(buf[:]); C.callGoStackCheck() }
func stack1696() { var buf [1696]byte; use(buf[:]); C.callGoStackCheck() }
func stack1700() { var buf [1700]byte; use(buf[:]); C.callGoStackCheck() }
func stack1704() { var buf [1704]byte; use(buf[:]); C.callGoStackCheck() }
func stack1708() { var buf [1708]byte; use(buf[:]); C.callGoStackCheck() }
func stack1712() { var buf [1712]byte; use(buf[:]); C.callGoStackCheck() }
func stack1716() { var buf [1716]byte; use(buf[:]); C.callGoStackCheck() }
func stack1720() { var buf [1720]byte; use(buf[:]); C.callGoStackCheck() }
func stack1724() { var buf [1724]byte; use(buf[:]); C.callGoStackCheck() }
func stack1728() { var buf [1728]byte; use(buf[:]); C.callGoStackCheck() }
func stack1732() { var buf [1732]byte; use(buf[:]); C.callGoStackCheck() }
func stack1736() { var buf [1736]byte; use(buf[:]); C.callGoStackCheck() }
func stack1740() { var buf [1740]byte; use(buf[:]); C.callGoStackCheck() }
func stack1744() { var buf [1744]byte; use(buf[:]); C.callGoStackCheck() }
func stack1748() { var buf [1748]byte; use(buf[:]); C.callGoStackCheck() }
func stack1752() { var buf [1752]byte; use(buf[:]); C.callGoStackCheck() }
func stack1756() { var buf [1756]byte; use(buf[:]); C.callGoStackCheck() }
func stack1760() { var buf [1760]byte; use(buf[:]); C.callGoStackCheck() }
func stack1764() { var buf [1764]byte; use(buf[:]); C.callGoStackCheck() }
func stack1768() { var buf [1768]byte; use(buf[:]); C.callGoStackCheck() }
func stack1772() { var buf [1772]byte; use(buf[:]); C.callGoStackCheck() }
func stack1776() { var buf [1776]byte; use(buf[:]); C.callGoStackCheck() }
func stack1780() { var buf [1780]byte; use(buf[:]); C.callGoStackCheck() }
func stack1784() { var buf [1784]byte; use(buf[:]); C.callGoStackCheck() }
func stack1788() { var buf [1788]byte; use(buf[:]); C.callGoStackCheck() }
func stack1792() { var buf [1792]byte; use(buf[:]); C.callGoStackCheck() }
func stack1796() { var buf [1796]byte; use(buf[:]); C.callGoStackCheck() }
func stack1800() { var buf [1800]byte; use(buf[:]); C.callGoStackCheck() }
func stack1804() { var buf [1804]byte; use(buf[:]); C.callGoStackCheck() }
func stack1808() { var buf [1808]byte; use(buf[:]); C.callGoStackCheck() }
func stack1812() { var buf [1812]byte; use(buf[:]); C.callGoStackCheck() }
func stack1816() { var buf [1816]byte; use(buf[:]); C.callGoStackCheck() }
func stack1820() { var buf [1820]byte; use(buf[:]); C.callGoStackCheck() }
func stack1824() { var buf [1824]byte; use(buf[:]); C.callGoStackCheck() }
func stack1828() { var buf [1828]byte; use(buf[:]); C.callGoStackCheck() }
func stack1832() { var buf [1832]byte; use(buf[:]); C.callGoStackCheck() }
func stack1836() { var buf [1836]byte; use(buf[:]); C.callGoStackCheck() }
func stack1840() { var buf [1840]byte; use(buf[:]); C.callGoStackCheck() }
func stack1844() { var buf [1844]byte; use(buf[:]); C.callGoStackCheck() }
func stack1848() { var buf [1848]byte; use(buf[:]); C.callGoStackCheck() }
func stack1852() { var buf [1852]byte; use(buf[:]); C.callGoStackCheck() }
func stack1856() { var buf [1856]byte; use(buf[:]); C.callGoStackCheck() }
func stack1860() { var buf [1860]byte; use(buf[:]); C.callGoStackCheck() }
func stack1864() { var buf [1864]byte; use(buf[:]); C.callGoStackCheck() }
func stack1868() { var buf [1868]byte; use(buf[:]); C.callGoStackCheck() }
func stack1872() { var buf [1872]byte; use(buf[:]); C.callGoStackCheck() }
func stack1876() { var buf [1876]byte; use(buf[:]); C.callGoStackCheck() }
func stack1880() { var buf [1880]byte; use(buf[:]); C.callGoStackCheck() }
func stack1884() { var buf [1884]byte; use(buf[:]); C.callGoStackCheck() }
func stack1888() { var buf [1888]byte; use(buf[:]); C.callGoStackCheck() }
func stack1892() { var buf [1892]byte; use(buf[:]); C.callGoStackCheck() }
func stack1896() { var buf [1896]byte; use(buf[:]); C.callGoStackCheck() }
func stack1900() { var buf [1900]byte; use(buf[:]); C.callGoStackCheck() }
func stack1904() { var buf [1904]byte; use(buf[:]); C.callGoStackCheck() }
func stack1908() { var buf [1908]byte; use(buf[:]); C.callGoStackCheck() }
func stack1912() { var buf [1912]byte; use(buf[:]); C.callGoStackCheck() }
func stack1916() { var buf [1916]byte; use(buf[:]); C.callGoStackCheck() }
func stack1920() { var buf [1920]byte; use(buf[:]); C.callGoStackCheck() }
func stack1924() { var buf [1924]byte; use(buf[:]); C.callGoStackCheck() }
func stack1928() { var buf [1928]byte; use(buf[:]); C.callGoStackCheck() }
func stack1932() { var buf [1932]byte; use(buf[:]); C.callGoStackCheck() }
func stack1936() { var buf [1936]byte; use(buf[:]); C.callGoStackCheck() }
func stack1940() { var buf [1940]byte; use(buf[:]); C.callGoStackCheck() }
func stack1944() { var buf [1944]byte; use(buf[:]); C.callGoStackCheck() }
func stack1948() { var buf [1948]byte; use(buf[:]); C.callGoStackCheck() }
func stack1952() { var buf [1952]byte; use(buf[:]); C.callGoStackCheck() }
func stack1956() { var buf [1956]byte; use(buf[:]); C.callGoStackCheck() }
func stack1960() { var buf [1960]byte; use(buf[:]); C.callGoStackCheck() }
func stack1964() { var buf [1964]byte; use(buf[:]); C.callGoStackCheck() }
func stack1968() { var buf [1968]byte; use(buf[:]); C.callGoStackCheck() }
func stack1972() { var buf [1972]byte; use(buf[:]); C.callGoStackCheck() }
func stack1976() { var buf [1976]byte; use(buf[:]); C.callGoStackCheck() }
func stack1980() { var buf [1980]byte; use(buf[:]); C.callGoStackCheck() }
func stack1984() { var buf [1984]byte; use(buf[:]); C.callGoStackCheck() }
func stack1988() { var buf [1988]byte; use(buf[:]); C.callGoStackCheck() }
func stack1992() { var buf [1992]byte; use(buf[:]); C.callGoStackCheck() }
func stack1996() { var buf [1996]byte; use(buf[:]); C.callGoStackCheck() }
func stack2000() { var buf [2000]byte; use(buf[:]); C.callGoStackCheck() }
func stack2004() { var buf [2004]byte; use(buf[:]); C.callGoStackCheck() }
func stack2008() { var buf [2008]byte; use(buf[:]); C.callGoStackCheck() }
func stack2012() { var buf [2012]byte; use(buf[:]); C.callGoStackCheck() }
func stack2016() { var buf [2016]byte; use(buf[:]); C.callGoStackCheck() }
func stack2020() { var buf [2020]byte; use(buf[:]); C.callGoStackCheck() }
func stack2024() { var buf [2024]byte; use(buf[:]); C.callGoStackCheck() }
func stack2028() { var buf [2028]byte; use(buf[:]); C.callGoStackCheck() }
func stack2032() { var buf [2032]byte; use(buf[:]); C.callGoStackCheck() }
func stack2036() { var buf [2036]byte; use(buf[:]); C.callGoStackCheck() }
func stack2040() { var buf [2040]byte; use(buf[:]); C.callGoStackCheck() }
func stack2044() { var buf [2044]byte; use(buf[:]); C.callGoStackCheck() }
func stack2048() { var buf [2048]byte; use(buf[:]); C.callGoStackCheck() }