Source file src/cmd/compile/internal/ir/symtab.go

     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  package ir
     6  
     7  import (
     8  	"cmd/compile/internal/types"
     9  	"cmd/internal/obj"
    10  )
    11  
    12  // Syms holds known symbols.
    13  var Syms symsStruct
    14  
    15  type symsStruct struct {
    16  	AssertE2I                 *obj.LSym
    17  	AssertE2I2                *obj.LSym
    18  	Asanread                  *obj.LSym
    19  	Asanwrite                 *obj.LSym
    20  	CgoCheckMemmove           *obj.LSym
    21  	CgoCheckPtrWrite          *obj.LSym
    22  	CheckPtrAlignment         *obj.LSym
    23  	Deferproc                 *obj.LSym
    24  	Deferprocat               *obj.LSym
    25  	DeferprocStack            *obj.LSym
    26  	Deferreturn               *obj.LSym
    27  	Duffcopy                  *obj.LSym
    28  	Duffzero                  *obj.LSym
    29  	GCWriteBarrier            [8]*obj.LSym
    30  	Goschedguarded            *obj.LSym
    31  	Growslice                 *obj.LSym
    32  	GrowsliceBuf              *obj.LSym
    33  	GrowsliceBufNoAlias       *obj.LSym
    34  	GrowsliceNoAlias          *obj.LSym
    35  	MoveSlice                 *obj.LSym
    36  	MoveSliceNoScan           *obj.LSym
    37  	MoveSliceNoCap            *obj.LSym
    38  	MoveSliceNoCapNoScan      *obj.LSym
    39  	InterfaceSwitch           *obj.LSym
    40  	MallocGC                  *obj.LSym
    41  	MallocGCSmallNoScan       [27]*obj.LSym
    42  	MallocGCSmallScanNoHeader [27]*obj.LSym
    43  	MallocGCTiny              [16]*obj.LSym
    44  	Memmove                   *obj.LSym
    45  	Memequal                  *obj.LSym
    46  	Msanread                  *obj.LSym
    47  	Msanwrite                 *obj.LSym
    48  	Msanmove                  *obj.LSym
    49  	Newobject                 *obj.LSym
    50  	Newproc                   *obj.LSym
    51  	PanicBounds               *obj.LSym
    52  	PanicExtend               *obj.LSym
    53  	Panicdivide               *obj.LSym
    54  	Panicshift                *obj.LSym
    55  	PanicdottypeE             *obj.LSym
    56  	PanicdottypeI             *obj.LSym
    57  	Panicnildottype           *obj.LSym
    58  	Panicoverflow             *obj.LSym
    59  	PanicSimdImm              *obj.LSym
    60  	Racefuncenter             *obj.LSym
    61  	Racefuncexit              *obj.LSym
    62  	Raceread                  *obj.LSym
    63  	Racereadrange             *obj.LSym
    64  	Racewrite                 *obj.LSym
    65  	Racewriterange            *obj.LSym
    66  	TypeAssert                *obj.LSym
    67  	WBZero                    *obj.LSym
    68  	WBMove                    *obj.LSym
    69  	// Wasm
    70  	SigPanic         *obj.LSym
    71  	Staticuint64s    *obj.LSym
    72  	Typedmemmove     *obj.LSym
    73  	Udiv             *obj.LSym
    74  	WriteBarrier     *obj.LSym
    75  	Zerobase         *obj.LSym
    76  	ZeroVal          *obj.LSym
    77  	ARM64HasATOMICS  *obj.LSym
    78  	ARMHasVFPv4      *obj.LSym
    79  	Loong64HasLAMCAS *obj.LSym
    80  	Loong64HasLAM_BH *obj.LSym
    81  	Loong64HasLSX    *obj.LSym
    82  	RISCV64HasZbb    *obj.LSym
    83  	X86HasAVX        *obj.LSym
    84  	X86HasFMA        *obj.LSym
    85  	X86HasPOPCNT     *obj.LSym
    86  	X86HasSSE41      *obj.LSym
    87  	// Wasm
    88  	WasmDiv *obj.LSym
    89  	// Wasm
    90  	WasmTruncS *obj.LSym
    91  	// Wasm
    92  	WasmTruncU *obj.LSym
    93  }
    94  
    95  // Pkgs holds known packages.
    96  var Pkgs struct {
    97  	Go           *types.Pkg
    98  	Itab         *types.Pkg
    99  	Runtime      *types.Pkg
   100  	InternalMaps *types.Pkg
   101  	Coverage     *types.Pkg
   102  }
   103  

View as plain text