github.com/cloudwego/frugal@v0.1.15/internal/loader/moduledata_go118_119.go (about) 1 // +build go1.18,!go1.20 2 3 /* 4 * Copyright 2023 ByteDance Inc. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 package loader 20 21 import ( 22 `github.com/cloudwego/frugal/internal/rt` 23 ) 24 25 type _Func struct { 26 entryOff uint32 27 nameoff int32 28 args int32 29 deferreturn uint32 30 pcsp uint32 31 pcfile uint32 32 pcln uint32 33 npcdata uint32 34 cuOffset uint32 35 funcID uint8 36 flag uint8 37 _ [1]byte 38 nfuncdata uint8 39 pcdata [2]uint32 40 argptrs uint32 41 localptrs uint32 42 } 43 44 type _ModuleData struct { 45 pcHeader *_PCHeader 46 funcnametab []byte 47 cutab []uint32 48 filetab []byte 49 pctab []byte 50 pclntable []byte 51 ftab []_FuncTab 52 findfunctab uintptr 53 minpc, maxpc uintptr 54 text, etext uintptr 55 noptrdata, enoptrdata uintptr 56 data, edata uintptr 57 bss, ebss uintptr 58 noptrbss, enoptrbss uintptr 59 end, gcdata, gcbss uintptr 60 types, etypes uintptr 61 rodata uintptr 62 gofunc uintptr 63 textsectmap [][3]uintptr 64 typelinks []int32 65 itablinks []*rt.GoItab 66 ptab [][2]int32 67 pluginpath string 68 pkghashes []struct{} 69 modulename string 70 modulehashes []struct{} 71 hasmain uint8 72 gcdatamask, gcbssmask _BitVector 73 typemap map[int32]*rt.GoType 74 bad bool 75 next *_ModuleData 76 } 77 78 const ( 79 _ModuleMagic = 0xfffffff0 80 )