Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 12 for funcInfo (0.14 sec)

  1. src/runtime/symtab.go

    // or funcInfo() to get the funcInfo instead.
    
    // A Func represents a Go function in the running binary.
    type Func struct {
    	opaque struct{} // unexported field to disallow conversions
    }
    
    func (f *Func) raw() *_func {
    	return (*_func)(unsafe.Pointer(f))
    }
    
    func (f *Func) funcInfo() funcInfo {
    	return f.raw().funcInfo()
    }
    
    func (f *_func) funcInfo() funcInfo {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 40K bytes
    - Viewed (0)
  2. src/cmd/link/internal/ld/pcln.go

    }
    
    // funcData returns the funcdata and offsets for the FuncInfo.
    // The funcdata are written into runtime.functab after each func
    // object. This is a helper function to make querying the FuncInfo object
    // cleaner.
    //
    // NB: Preload must be called on the FuncInfo before calling.
    // NB: fdSyms is used as scratch space.
    func funcData(ldr *loader.Loader, s loader.Sym, fi loader.FuncInfo, inlSym loader.Sym, fdSyms []loader.Sym) []loader.Sym {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 21 22:16:54 UTC 2024
    - 29.6K bytes
    - Viewed (0)
  3. src/cmd/internal/obj/link.go

    	Targets []*Prog
    }
    
    // NewFuncInfo allocates and returns a FuncInfo for LSym.
    func (s *LSym) NewFuncInfo() *FuncInfo {
    	if s.Extra != nil {
    		panic(fmt.Sprintf("invalid use of LSym - NewFuncInfo with Extra of type %T", *s.Extra))
    	}
    	f := new(FuncInfo)
    	s.Extra = new(interface{})
    	*s.Extra = f
    	return f
    }
    
    // Func returns the *FuncInfo associated with s, or else nil.
    func (s *LSym) Func() *FuncInfo {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 33.1K bytes
    - Viewed (0)
  4. src/cmd/internal/obj/objfile.go

    			n++
    		}
    	}
    	return n
    }
    
    // generate symbols for FuncInfo.
    func genFuncInfoSyms(ctxt *Link) {
    	infosyms := make([]*LSym, 0, len(ctxt.Text))
    	var b bytes.Buffer
    	symidx := int32(len(ctxt.defs))
    	for _, s := range ctxt.Text {
    		fn := s.Func()
    		if fn == nil {
    			continue
    		}
    		o := goobj.FuncInfo{
    			Args:      uint32(fn.Args),
    			Locals:    uint32(fn.Locals),
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 24K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/test/inl_test.go

    			"releasem",
    			"roundupsize",
    			"stackmapdata",
    			"stringStructOf",
    			"subtract1",
    			"subtractb",
    			"tophash",
    			"(*bmap).keys",
    			"(*bmap).overflow",
    			"(*waitq).enqueue",
    			"funcInfo.entry",
    
    			// GC-related ones
    			"cgoInRange",
    			"gclinkptr.ptr",
    			"guintptr.ptr",
    			"heapBitsSlice",
    			"markBits.isMarked",
    			"muintptr.ptr",
    			"puintptr.ptr",
    			"spanOf",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 10.7K bytes
    - Viewed (0)
  6. src/runtime/stkframe.go

    	"unsafe"
    )
    
    // A stkframe holds information about a single physical stack frame.
    type stkframe struct {
    	// fn is the function being run in this frame. If there is
    	// inlining, this is the outermost function.
    	fn funcInfo
    
    	// pc is the program counter within fn.
    	//
    	// The meaning of this is subtle:
    	//
    	// - Typically, this frame performed a regular function call
    	//   and this is the return PC (just after the CALL
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 15:10:48 UTC 2024
    - 9.9K bytes
    - Viewed (0)
  7. src/runtime/tracestack.go

    				n++
    			}
    			return n < len(dst)
    		}
    	)
    
    outer:
    	for _, retPC := range pcBuf[1:] {
    		callPC := retPC - 1
    		fi := findfunc(callPC)
    		if !fi.valid() {
    			// There is no funcInfo if callPC belongs to a C function. In this case
    			// we still keep the pc, but don't attempt to expand inlined frames.
    			if more := skipOrAdd(retPC); !more {
    				break outer
    			}
    			continue
    		}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 14:38:56 UTC 2024
    - 11K bytes
    - Viewed (0)
  8. src/cmd/link/internal/ld/stackcheck.go

    	// Ignore calls to external functions. Assume that these calls
    	// are only ever happening on the system stack, where there's
    	// plenty of room.
    	if ldr.AttrExternal(sym) {
    		return 0, nil
    	}
    	if info := ldr.FuncInfo(sym); !info.Valid() { // also external
    		return 0, nil
    	}
    
    	// Track the maximum height of this function and, if we're
    	// recording the graph, its out-edges.
    	var edges []stackCheckEdge
    	maxHeight := 0
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 24 16:49:08 UTC 2023
    - 11.9K bytes
    - Viewed (0)
  9. src/runtime/stack.go

    	return (b >> (i % 8)) & 1
    }
    
    // bv describes the memory starting at address scanp.
    // Adjust any pointers contained therein.
    func adjustpointers(scanp unsafe.Pointer, bv *bitvector, adjinfo *adjustinfo, f funcInfo) {
    	minp := adjinfo.old.lo
    	maxp := adjinfo.old.hi
    	delta := adjinfo.delta
    	num := uintptr(bv.n)
    	// If this frame might contain channel receive slots, use CAS
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 41.1K bytes
    - Viewed (0)
  10. src/cmd/internal/goobj/objfile.go

    // 0-based.)
    
    // Auxiliary symbols.
    //
    // Each symbol may (or may not) be associated with a number of auxiliary
    // symbols. They are described in the Aux block. See Aux struct below.
    // Currently a symbol's Gotype, FuncInfo, and associated DWARF symbols
    // are auxiliary symbols.
    
    const stringRefSize = 8 // two uint32s
    
    type FingerprintType [8]byte
    
    func (fp FingerprintType) IsZero() bool { return fp == FingerprintType{} }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 23.8K bytes
    - Viewed (0)
Back to top