github.com/varialus/godfly@v0.0.0-20130904042352-1934f9f095ab/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 new(typ *byte) *any 16 func panicindex() 17 func panicslice() 18 func throwreturn() 19 func throwinit() 20 func panicwrap(string, string, string) 21 22 func panic(interface{}) 23 func recover(*int32) interface{} 24 25 func printbool(bool) 26 func printfloat(float64) 27 func printint(int64) 28 func printuint(uint64) 29 func printcomplex(complex128) 30 func printstring(string) 31 func printpointer(any) 32 func printiface(any) 33 func printeface(any) 34 func printslice(any) 35 func printnl() 36 func printsp() 37 func goprintf() 38 39 // filled in by compiler: int n, string, string, ... 40 func concatstring() 41 42 // filled in by compiler: Type*, int n, Slice, ... 43 func append() 44 func appendslice(typ *byte, x any, y []any) any 45 func appendstr(typ *byte, x []byte, y string) []byte 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 slicerunetostring([]rune) string 52 func stringtoslicebyte(string) []byte 53 func stringtoslicerune(string) []rune 54 func stringiter(string, int) int 55 func stringiter2(string, int) (retk int, retv rune) 56 func copy(to any, fr any, wid uintptr) int 57 func slicestringcopy(to any, fr any) int 58 59 // interface conversions 60 func typ2Itab(typ *byte, typ2 *byte, cache **byte) (ret *byte) 61 func convI2E(elem any) (ret any) 62 func convI2I(typ *byte, elem any) (ret any) 63 func convT2E(typ *byte, elem any) (ret any) 64 func convT2I(typ *byte, typ2 *byte, cache **byte, elem any) (ret any) 65 66 // interface type assertions x.(T) 67 func assertE2E(typ *byte, iface any) (ret any) 68 func assertE2E2(typ *byte, iface any) (ret any, ok bool) 69 func assertE2I(typ *byte, iface any) (ret any) 70 func assertE2I2(typ *byte, iface any) (ret any, ok bool) 71 func assertE2T(typ *byte, iface any) (ret any) 72 func assertE2T2(typ *byte, iface any) (ret any, ok bool) 73 func assertI2E(typ *byte, iface any) (ret any) 74 func assertI2E2(typ *byte, iface any) (ret any, ok bool) 75 func assertI2I(typ *byte, iface any) (ret any) 76 func assertI2I2(typ *byte, iface any) (ret any, ok bool) 77 func assertI2T(typ *byte, iface any) (ret any) 78 func assertI2T2(typ *byte, iface any) (ret any, ok bool) 79 func assertI2TOK(typ *byte, iface any) (ok bool) 80 func assertE2TOK(typ *byte, iface any) (ok 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 func equal(typ *byte, x1, x2 any) (ret bool) 88 89 // *byte is really *runtime.Type 90 func makemap(mapType *byte, hint int64) (hmap map[any]any) 91 func mapaccess1(mapType *byte, hmap map[any]any, key any) (val any) 92 func mapaccess1_fast32(mapType *byte, hmap map[any]any, key any) (val *any) 93 func mapaccess1_fast64(mapType *byte, hmap map[any]any, key any) (val *any) 94 func mapaccess1_faststr(mapType *byte, hmap map[any]any, key any) (val *any) 95 func mapaccess2(mapType *byte, hmap map[any]any, key any) (val any, pres bool) 96 func mapaccess2_fast32(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 97 func mapaccess2_fast64(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 98 func mapaccess2_faststr(mapType *byte, hmap map[any]any, key any) (val *any, pres bool) 99 func mapassign1(mapType *byte, hmap map[any]any, key any, val any) 100 func mapiterinit(mapType *byte, hmap map[any]any, hiter *any) 101 func mapdelete(mapType *byte, hmap map[any]any, key any) 102 func mapiternext(hiter *any) 103 func mapiter1(hiter *any) (key any) 104 func mapiter2(hiter *any) (key any, val any) 105 106 // *byte is really *runtime.Type 107 func makechan(chanType *byte, hint int64) (hchan chan any) 108 func chanrecv1(chanType *byte, hchan <-chan any) (elem any) 109 func chanrecv2(chanType *byte, hchan <-chan any) (elem any, received bool) 110 func chansend1(chanType *byte, hchan chan<- any, elem any) 111 func closechan(hchan any) 112 113 func selectnbsend(chanType *byte, hchan chan<- any, elem any) bool 114 func selectnbrecv(chanType *byte, elem *any, hchan <-chan any) bool 115 func selectnbrecv2(chanType *byte, elem *any, received *bool, hchan <-chan any) bool 116 117 func newselect(size int32) (sel *byte) 118 func selectsend(sel *byte, hchan chan<- any, elem *any) (selected bool) 119 func selectrecv(sel *byte, hchan <-chan any, elem *any) (selected bool) 120 func selectrecv2(sel *byte, hchan <-chan any, elem *any, received *bool) (selected bool) 121 func selectdefault(sel *byte) (selected bool) 122 func selectgo(sel *byte) 123 func block() 124 125 func makeslice(typ *byte, nel int64, cap int64) (ary []any) 126 func growslice(typ *byte, old []any, n int64) (ary []any) 127 128 func memequal(eq *bool, size uintptr, x, y *any) 129 func memequal8(eq *bool, size uintptr, x, y *any) 130 func memequal16(eq *bool, size uintptr, x, y *any) 131 func memequal32(eq *bool, size uintptr, x, y *any) 132 func memequal64(eq *bool, size uintptr, x, y *any) 133 func memequal128(eq *bool, size uintptr, x, y *any) 134 135 // only used on 32-bit 136 func int64div(int64, int64) int64 137 func uint64div(uint64, uint64) uint64 138 func int64mod(int64, int64) int64 139 func uint64mod(uint64, uint64) uint64 140 func float64toint64(float64) int64 141 func float64touint64(float64) uint64 142 func int64tofloat64(int64) float64 143 func uint64tofloat64(uint64) float64 144 145 func complex128div(num complex128, den complex128) (quo complex128) 146 147 // race detection 148 func racefuncenter(uintptr) 149 func racefuncexit() 150 func raceread(uintptr) 151 func racewrite(uintptr) 152 func racereadrange(addr, size uintptr) 153 func racewriterange(addr, size uintptr)