github.com/razvanm/vanadium-go-1.3@v0.0.0-20160721203343-4a65068e5915/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 goprintf() 40 41 func concatstring2(string, string) string 42 func concatstring3(string, string, string) string 43 func concatstring4(string, string, string, string) string 44 func concatstring5(string, string, string, string, string) string 45 func concatstrings([]string) string 46 47 func cmpstring(string, string) int 48 func eqstring(string, string) bool 49 func intstring(int64) string 50 func slicebytetostring([]byte) string 51 func slicebytetostringtmp([]byte) string 52 func slicerunetostring([]rune) string 53 func stringtoslicebyte(string) []byte 54 func stringtoslicerune(string) []rune 55 func stringiter(string, int) int 56 func stringiter2(string, int) (retk int, retv rune) 57 func slicecopy(to any, fr any, wid uintptr) int 58 func slicestringcopy(to any, fr any) int 59 60 // interface conversions 61 func typ2Itab(typ *byte, typ2 *byte, cache **byte) (ret *byte) 62 func convI2E(elem any) (ret any) 63 func convI2I(typ *byte, elem any) (ret any) 64 func convT2E(typ *byte, elem *any) (ret any) 65 func convT2I(typ *byte, typ2 *byte, cache **byte, elem *any) (ret any) 66 67 // interface type assertions x.(T) 68 func assertE2E(typ *byte, iface any) (ret any) 69 func assertE2E2(typ *byte, iface any) (ret any, ok bool) 70 func assertE2I(typ *byte, iface any) (ret any) 71 func assertE2I2(typ *byte, iface any) (ret any, ok bool) 72 func assertE2T(typ *byte, iface any) (ret any) 73 func assertE2T2(typ *byte, iface any) (ret any, ok bool) 74 func assertI2E(typ *byte, iface any) (ret any) 75 func assertI2E2(typ *byte, iface any) (ret any, ok bool) 76 func assertI2I(typ *byte, iface any) (ret any) 77 func assertI2I2(typ *byte, iface any) (ret any, ok bool) 78 func assertI2T(typ *byte, iface any) (ret any) 79 func assertI2T2(typ *byte, iface any) (ret any, ok bool) 80 func assertI2TOK(typ *byte, iface any) (ok bool) 81 func assertE2TOK(typ *byte, iface any) (ok bool) 82 83 func ifaceeq(i1 any, i2 any) (ret bool) 84 func efaceeq(i1 any, i2 any) (ret bool) 85 func ifacethash(i1 any) (ret uint32) 86 func efacethash(i1 any) (ret uint32) 87 88 // *byte is really *runtime.Type 89 func makemap(mapType *byte, hint int64) (hmap map[any]any) 90 func mapaccess1(mapType *byte, hmap map[any]any, key *any) (val *any) 91 func mapaccess1_fast32(mapType *byte, hmap map[any]any, key any) (val *any) 92 func mapaccess1_fast64(mapType *byte, hmap map[any]any, key any) (val *any) 93 func mapaccess1_faststr(mapType *byte, hmap map[any]any, key any) (val *any) 94 func mapaccess2(mapType *byte, hmap map[any]any, key *any) (val *any, pres bool) 95 func mapaccess2_fast32(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 96 func mapaccess2_fast64(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 97 func mapaccess2_faststr(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 98 func mapassign1(mapType *byte, hmap map[any]any, key *any, val *any) 99 func mapiterinit(mapType *byte, hmap map[any]any, hiter *any) 100 func mapdelete(mapType *byte, hmap map[any]any, key *any) 101 func mapiternext(hiter *any) 102 103 // *byte is really *runtime.Type 104 func makechan(chanType *byte, hint int64) (hchan chan any) 105 func chanrecv1(chanType *byte, hchan <-chan any, elem *any) 106 func chanrecv2(chanType *byte, hchan <-chan any, elem *any) bool 107 func chansend1(chanType *byte, hchan chan<- any, elem *any) 108 func closechan(hchan any) 109 110 // *byte is really *runtime.Type 111 func writebarrierptr(dst *any, src any) 112 func writebarrierstring(dst *any, src any) 113 func writebarrierslice(dst *any, src any) 114 func writebarrieriface(dst *any, src any) 115 116 // The unused *byte argument makes sure that src is 2-pointer-aligned, 117 // which is the maximum alignment on NaCl amd64p32 118 // (and possibly on 32-bit systems if we start 64-bit aligning uint64s). 119 func writebarrierfat2(dst *any, _ *byte, src any) 120 func writebarrierfat3(dst *any, _ *byte, src any) 121 func writebarrierfat4(dst *any, _ *byte, src any) 122 func writebarrierfat(typ *byte, dst *any, src *any) 123 124 func selectnbsend(chanType *byte, hchan chan<- any, elem *any) bool 125 func selectnbrecv(chanType *byte, elem *any, hchan <-chan any) bool 126 func selectnbrecv2(chanType *byte, elem *any, received *bool, hchan <-chan any) bool 127 128 func newselect(sel *byte, selsize int64, size int32) 129 func selectsend(sel *byte, hchan chan<- any, elem *any) (selected bool) 130 func selectrecv(sel *byte, hchan <-chan any, elem *any) (selected bool) 131 func selectrecv2(sel *byte, hchan <-chan any, elem *any, received *bool) (selected bool) 132 func selectdefault(sel *byte) (selected bool) 133 func selectgo(sel *byte) 134 func block() 135 136 func makeslice(typ *byte, nel int64, cap int64) (ary []any) 137 func growslice(typ *byte, old []any, n int64) (ary []any) 138 func memmove(to *any, frm *any, length uintptr) 139 140 func memequal(x, y *any, size uintptr) bool 141 func memequal8(x, y *any, size uintptr) bool 142 func memequal16(x, y *any, size uintptr) bool 143 func memequal32(x, y *any, size uintptr) bool 144 func memequal64(x, y *any, size uintptr) bool 145 func memequal128(x, y *any, size uintptr) bool 146 147 // only used on 32-bit 148 func int64div(int64, int64) int64 149 func uint64div(uint64, uint64) uint64 150 func int64mod(int64, int64) int64 151 func uint64mod(uint64, uint64) uint64 152 func float64toint64(float64) int64 153 func float64touint64(float64) uint64 154 func int64tofloat64(int64) float64 155 func uint64tofloat64(uint64) float64 156 157 func complex128div(num complex128, den complex128) (quo complex128) 158 159 // race detection 160 func racefuncenter(uintptr) 161 func racefuncexit() 162 func raceread(uintptr) 163 func racewrite(uintptr) 164 func racereadrange(addr, size uintptr) 165 func racewriterange(addr, size uintptr)