github.com/bgentry/go@v0.0.0-20150121062915-6cf5a733d54d/src/cmd/gc/runtime.go (about) 1 // Copyright 2009 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // NOTE: If you change this file you must run "./mkbuiltin" 6 // to update builtin.c. This is not done automatically 7 // to avoid depending on having a working compiler binary. 8 9 // +build ignore 10 11 package PACKAGE 12 13 // emitted by compiler, not referred to by go programs 14 15 func newobject(typ *byte) *any 16 func panicindex() 17 func panicslice() 18 func panicdivide() 19 func throwreturn() 20 func throwinit() 21 func panicwrap(string, string, string) 22 23 func gopanic(interface{}) 24 func gorecover(*int32) interface{} 25 26 func printbool(bool) 27 func printfloat(float64) 28 func printint(int64) 29 func printhex(uint64) 30 func printuint(uint64) 31 func printcomplex(complex128) 32 func printstring(string) 33 func printpointer(any) 34 func printiface(any) 35 func printeface(any) 36 func printslice(any) 37 func printnl() 38 func printsp() 39 func printlock() 40 func printunlock() 41 42 func concatstring2(string, string) string 43 func concatstring3(string, string, string) string 44 func concatstring4(string, string, string, string) string 45 func concatstring5(string, string, string, string, string) string 46 func concatstrings([]string) string 47 48 func cmpstring(string, string) int 49 func eqstring(string, string) bool 50 func intstring(int64) string 51 func slicebytetostring([]byte) string 52 func slicebytetostringtmp([]byte) string 53 func slicerunetostring([]rune) string 54 func stringtoslicebyte(string) []byte 55 func stringtoslicerune(string) []rune 56 func stringiter(string, int) int 57 func stringiter2(string, int) (retk int, retv rune) 58 func slicecopy(to any, fr any, wid uintptr) int 59 func slicestringcopy(to any, fr any) int 60 61 // interface conversions 62 func typ2Itab(typ *byte, typ2 *byte, cache **byte) (ret *byte) 63 func convI2E(elem any) (ret any) 64 func convI2I(typ *byte, elem any) (ret any) 65 func convT2E(typ *byte, elem *any) (ret any) 66 func convT2I(typ *byte, typ2 *byte, cache **byte, elem *any) (ret any) 67 68 // interface type assertions x.(T) 69 func assertE2E(typ *byte, iface any, ret *any) 70 func assertE2E2(typ *byte, iface any, ret *any) bool 71 func assertE2I(typ *byte, iface any, ret *any) 72 func assertE2I2(typ *byte, iface any, ret *any) bool 73 func assertE2T(typ *byte, iface any, ret *any) 74 func assertE2T2(typ *byte, iface any, ret *any) bool 75 func assertI2E(typ *byte, iface any, ret *any) 76 func assertI2E2(typ *byte, iface any, ret *any) bool 77 func assertI2I(typ *byte, iface any, ret *any) 78 func assertI2I2(typ *byte, iface any, ret *any) bool 79 func assertI2T(typ *byte, iface any, ret *any) 80 func assertI2T2(typ *byte, iface any, ret *any) bool 81 82 func ifaceeq(i1 any, i2 any) (ret bool) 83 func efaceeq(i1 any, i2 any) (ret bool) 84 func ifacethash(i1 any) (ret uint32) 85 func efacethash(i1 any) (ret uint32) 86 87 // *byte is really *runtime.Type 88 func makemap(mapType *byte, hint int64) (hmap map[any]any) 89 func mapaccess1(mapType *byte, hmap map[any]any, key *any) (val *any) 90 func mapaccess1_fast32(mapType *byte, hmap map[any]any, key any) (val *any) 91 func mapaccess1_fast64(mapType *byte, hmap map[any]any, key any) (val *any) 92 func mapaccess1_faststr(mapType *byte, hmap map[any]any, key any) (val *any) 93 func mapaccess2(mapType *byte, hmap map[any]any, key *any) (val *any, pres bool) 94 func mapaccess2_fast32(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 95 func mapaccess2_fast64(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 96 func mapaccess2_faststr(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 97 func mapassign1(mapType *byte, hmap map[any]any, key *any, val *any) 98 func mapiterinit(mapType *byte, hmap map[any]any, hiter *any) 99 func mapdelete(mapType *byte, hmap map[any]any, key *any) 100 func mapiternext(hiter *any) 101 102 // *byte is really *runtime.Type 103 func makechan(chanType *byte, hint int64) (hchan chan any) 104 func chanrecv1(chanType *byte, hchan <-chan any, elem *any) 105 func chanrecv2(chanType *byte, hchan <-chan any, elem *any) bool 106 func chansend1(chanType *byte, hchan chan<- any, elem *any) 107 func closechan(hchan any) 108 109 // *byte is really *runtime.Type 110 func writebarrierptr(dst *any, src any) 111 func writebarrierstring(dst *any, src any) 112 func writebarrierslice(dst *any, src any) 113 func writebarrieriface(dst *any, src any) 114 115 // The unused *byte argument makes sure that src is 2-pointer-aligned, 116 // which is the maximum alignment on NaCl amd64p32 117 // (and possibly on 32-bit systems if we start 64-bit aligning uint64s). 118 // The bitmap in the name tells which words being copied are pointers. 119 func writebarrierfat01(dst *any, _ *byte, src any) 120 func writebarrierfat10(dst *any, _ *byte, src any) 121 func writebarrierfat11(dst *any, _ *byte, src any) 122 func writebarrierfat001(dst *any, _ *byte, src any) 123 func writebarrierfat010(dst *any, _ *byte, src any) 124 func writebarrierfat011(dst *any, _ *byte, src any) 125 func writebarrierfat100(dst *any, _ *byte, src any) 126 func writebarrierfat101(dst *any, _ *byte, src any) 127 func writebarrierfat110(dst *any, _ *byte, src any) 128 func writebarrierfat111(dst *any, _ *byte, src any) 129 func writebarrierfat0001(dst *any, _ *byte, src any) 130 func writebarrierfat0010(dst *any, _ *byte, src any) 131 func writebarrierfat0011(dst *any, _ *byte, src any) 132 func writebarrierfat0100(dst *any, _ *byte, src any) 133 func writebarrierfat0101(dst *any, _ *byte, src any) 134 func writebarrierfat0110(dst *any, _ *byte, src any) 135 func writebarrierfat0111(dst *any, _ *byte, src any) 136 func writebarrierfat1000(dst *any, _ *byte, src any) 137 func writebarrierfat1001(dst *any, _ *byte, src any) 138 func writebarrierfat1010(dst *any, _ *byte, src any) 139 func writebarrierfat1011(dst *any, _ *byte, src any) 140 func writebarrierfat1100(dst *any, _ *byte, src any) 141 func writebarrierfat1101(dst *any, _ *byte, src any) 142 func writebarrierfat1110(dst *any, _ *byte, src any) 143 func writebarrierfat1111(dst *any, _ *byte, src any) 144 145 func typedmemmove(typ *byte, dst *any, src *any) 146 func typedslicecopy(typ *byte, dst any, src any) int 147 148 func selectnbsend(chanType *byte, hchan chan<- any, elem *any) bool 149 func selectnbrecv(chanType *byte, elem *any, hchan <-chan any) bool 150 func selectnbrecv2(chanType *byte, elem *any, received *bool, hchan <-chan any) bool 151 152 func newselect(sel *byte, selsize int64, size int32) 153 func selectsend(sel *byte, hchan chan<- any, elem *any) (selected bool) 154 func selectrecv(sel *byte, hchan <-chan any, elem *any) (selected bool) 155 func selectrecv2(sel *byte, hchan <-chan any, elem *any, received *bool) (selected bool) 156 func selectdefault(sel *byte) (selected bool) 157 func selectgo(sel *byte) 158 func block() 159 160 func makeslice(typ *byte, nel int64, cap int64) (ary []any) 161 func growslice(typ *byte, old []any, n int64) (ary []any) 162 func memmove(to *any, frm *any, length uintptr) 163 func memclr(ptr *byte, length uintptr) 164 165 func memequal(x, y *any, size uintptr) bool 166 func memequal8(x, y *any) bool 167 func memequal16(x, y *any) bool 168 func memequal32(x, y *any) bool 169 func memequal64(x, y *any) bool 170 func memequal128(x, y *any) bool 171 172 // only used on 32-bit 173 func int64div(int64, int64) int64 174 func uint64div(uint64, uint64) uint64 175 func int64mod(int64, int64) int64 176 func uint64mod(uint64, uint64) uint64 177 func float64toint64(float64) int64 178 func float64touint64(float64) uint64 179 func int64tofloat64(int64) float64 180 func uint64tofloat64(uint64) float64 181 182 func complex128div(num complex128, den complex128) (quo complex128) 183 184 // race detection 185 func racefuncenter(uintptr) 186 func racefuncexit() 187 func raceread(uintptr) 188 func racewrite(uintptr) 189 func racereadrange(addr, size uintptr) 190 func racewriterange(addr, size uintptr)