github.com/miolini/go@v0.0.0-20160405192216-fca68c8cb408/src/cmd/compile/internal/gc/builtin/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 "go generate" 6 // to update builtin.go. This is not done automatically 7 // to avoid depending on having a working compiler binary. 8 9 // +build ignore 10 11 package runtime 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(*[32]byte, string, string) string 43 func concatstring3(*[32]byte, string, string, string) string 44 func concatstring4(*[32]byte, string, string, string, string) string 45 func concatstring5(*[32]byte, string, string, string, string, string) string 46 func concatstrings(*[32]byte, []string) string 47 48 func cmpstring(string, string) int 49 func eqstring(string, string) bool 50 func intstring(*[4]byte, int64) string 51 func slicebytetostring(*[32]byte, []byte) string 52 func slicebytetostringtmp([]byte) string 53 func slicerunetostring(*[32]byte, []rune) string 54 func stringtoslicebyte(*[32]byte, string) []byte 55 func stringtoslicebytetmp(string) []byte 56 func stringtoslicerune(*[32]rune, string) []rune 57 func stringiter(string, int) int 58 func stringiter2(string, int) (retk int, retv rune) 59 func slicecopy(to any, fr any, wid uintptr) int 60 func slicestringcopy(to any, fr any) int 61 62 // interface conversions 63 func convI2E(elem any) (ret any) 64 func convI2I(typ *byte, elem any) (ret any) 65 func convT2E(typ *byte, elem, buf *any) (ret any) 66 func convT2I(tab *byte, elem, buf *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 func panicdottype(have, want, iface *byte) 82 83 func ifaceeq(i1 any, i2 any) (ret bool) 84 func efaceeq(i1 any, i2 any) (ret bool) 85 86 // *byte is really *runtime.Type 87 func makemap(mapType *byte, hint int64, mapbuf *any, bucketbuf *any) (hmap map[any]any) 88 func mapaccess1(mapType *byte, hmap map[any]any, key *any) (val *any) 89 func mapaccess1_fast32(mapType *byte, hmap map[any]any, key any) (val *any) 90 func mapaccess1_fast64(mapType *byte, hmap map[any]any, key any) (val *any) 91 func mapaccess1_faststr(mapType *byte, hmap map[any]any, key any) (val *any) 92 func mapaccess2(mapType *byte, hmap map[any]any, key *any) (val *any, pres bool) 93 func mapaccess2_fast32(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 94 func mapaccess2_fast64(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 95 func mapaccess2_faststr(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 96 func mapassign1(mapType *byte, hmap map[any]any, key *any, val *any) 97 func mapiterinit(mapType *byte, hmap map[any]any, hiter *any) 98 func mapdelete(mapType *byte, hmap map[any]any, key *any) 99 func mapiternext(hiter *any) 100 101 // *byte is really *runtime.Type 102 func makechan(chanType *byte, hint int64) (hchan chan any) 103 func chanrecv1(chanType *byte, hchan <-chan any, elem *any) 104 func chanrecv2(chanType *byte, hchan <-chan any, elem *any) bool 105 func chansend1(chanType *byte, hchan chan<- any, elem *any) 106 func closechan(hchan any) 107 108 var writeBarrier struct { 109 enabled bool 110 needed bool 111 cgo bool 112 } 113 114 func writebarrierptr(dst *any, src any) 115 116 // *byte is really *runtime.Type 117 func typedmemmove(typ *byte, dst *any, src *any) 118 func typedslicecopy(typ *byte, dst any, src any) int 119 120 func selectnbsend(chanType *byte, hchan chan<- any, elem *any) bool 121 func selectnbrecv(chanType *byte, elem *any, hchan <-chan any) bool 122 func selectnbrecv2(chanType *byte, elem *any, received *bool, hchan <-chan any) bool 123 124 func newselect(sel *byte, selsize int64, size int32) 125 func selectsend(sel *byte, hchan chan<- any, elem *any) (selected bool) 126 func selectrecv(sel *byte, hchan <-chan any, elem *any) (selected bool) 127 func selectrecv2(sel *byte, hchan <-chan any, elem *any, received *bool) (selected bool) 128 func selectdefault(sel *byte) (selected bool) 129 func selectgo(sel *byte) 130 func block() 131 132 func makeslice(typ *byte, nel int64, cap int64) (ary []any) 133 func growslice(typ *byte, old []any, cap int) (ary []any) 134 func memmove(to *any, frm *any, length uintptr) 135 func memclr(ptr *byte, length uintptr) 136 137 func memequal(x, y *any, size uintptr) bool 138 func memequal8(x, y *any) bool 139 func memequal16(x, y *any) bool 140 func memequal32(x, y *any) bool 141 func memequal64(x, y *any) bool 142 func memequal128(x, y *any) bool 143 144 // only used on 32-bit 145 func int64div(int64, int64) int64 146 func uint64div(uint64, uint64) uint64 147 func int64mod(int64, int64) int64 148 func uint64mod(uint64, uint64) uint64 149 func float64toint64(float64) int64 150 func float64touint64(float64) uint64 151 func int64tofloat64(int64) float64 152 func uint64tofloat64(uint64) float64 153 154 func complex128div(num complex128, den complex128) (quo complex128) 155 156 // race detection 157 func racefuncenter(uintptr) 158 func racefuncexit() 159 func raceread(uintptr) 160 func racewrite(uintptr) 161 func racereadrange(addr, size uintptr) 162 func racewriterange(addr, size uintptr) 163 164 // memory sanitizer 165 func msanread(addr, size uintptr) 166 func msanwrite(addr, size uintptr)