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)