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)