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  )