summaryrefslogtreecommitdiff
path: root/src/cmd/gc/sys.go
blob: a2ef1d2592334da03bc314c2b895473c61a0b630 (plain)
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
// Copyright 2009 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 PACKAGE

// emitted by compiler, not referred to by go programs

func	mal(int32) *any;
func	throwindex();
func	throwreturn();
func	panicl(int32);

func	printbool(bool);
func	printfloat(float64);
func	printint(int64);
func	printstring(string);
func	printpointer(any);
func	printinter(any);
func	printarray(any);
func	printnl();
func	printsp();

func	catstring(string, string) string;
func	cmpstring(string, string) int;
func	slicestring(string, int, int) string;
func	indexstring(string, int) byte;
func	intstring(int64) string;
func	byteastring(*byte, int) string;
func	arraystring([]byte) string;

func	ifaceT2I(sigi *byte, sigt *byte, elem any) (ret any);
func	ifaceI2T(sigt *byte, iface any) (ret any);
func	ifaceI2T2(sigt *byte, iface any) (ret any, ok bool);
func	ifaceI2I(sigi *byte, iface any) (ret any);
func	ifaceI2I2(sigi *byte, iface any) (ret any, ok bool);
func	ifaceeq(i1 any, i2 any) (ret bool);

func	newmap(keysize int, valsize int,
			keyalg int, valalg int,
			hint int) (hmap map[any]any);
func	mapaccess1(hmap map[any]any, key any) (val any);
func	mapaccess2(hmap map[any]any, key any) (val any, pres bool);
func	mapassign1(hmap map[any]any, key any, val any);
func	mapassign2(hmap map[any]any, key any, val any, pres bool);
func	mapiterinit(hmap map[any]any, hiter *any);
func	mapiternext(hiter *any);
func	mapiter1(hiter *any) (key any);
func	mapiter2(hiter *any) (key any, val any);

func	newchan(elemsize int, elemalg int, hint int) (hchan chan any);
func	chanrecv1(hchan chan any) (elem any);
func	chanrecv2(hchan chan any) (elem any, pres bool);
func	chanrecv3(hchan chan any, elem *any) (pres bool);
func	chansend1(hchan chan any, elem any);
func	chansend2(hchan chan any, elem any) (pres bool);
func	closechan(hchan chan any);
func	closedchan(hchan chan any) bool;

func	newselect(size int) (sel *byte);
func	selectsend(sel *byte, hchan chan any, elem any) (selected bool);
func	selectrecv(sel *byte, hchan chan any, elem *any) (selected bool);
func	selectdefault(sel *byte) (selected bool);
func	selectgo(sel *byte);

func	newarray(nel int, cap int, width int) (ary []any);
func	arraysliced(old []any, lb int, hb int, width int) (ary []any);
func	arrayslices(old *any, nel int, lb int, hb int, width int) (ary []any);
func	arrays2d(old *any, nel int) (ary []any);

func	closure();	// has args, but compiler fills in

// used by go programs

func	Breakpoint();

func	Reflect(i interface { }) (uint64, string, bool);
func	Unreflect(uint64, string, bool) (ret interface { });

var	Args []string;
var	Envs []string;

func	Gosched();
func	Goexit();

func	Exit(int);

func	Caller(n int) (pc uint64, file string, line int, ok bool);