Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 13 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/loader/loader.go

    	return int((*goobj.FuncInfo)(nil).ReadLocals(fi.data))
    }
    
    func (fi *FuncInfo) FuncID() abi.FuncID {
    	return (*goobj.FuncInfo)(nil).ReadFuncID(fi.data)
    }
    
    func (fi *FuncInfo) FuncFlag() abi.FuncFlag {
    	return (*goobj.FuncInfo)(nil).ReadFuncFlag(fi.data)
    }
    
    func (fi *FuncInfo) StartLine() int32 {
    	return (*goobj.FuncInfo)(nil).ReadStartLine(fi.data)
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 20:26:10 UTC 2024
    - 81.5K 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/runtime/symtabinl.go

    // must not mutate pointer fields. Also, we keep the mutable state in a separate
    // struct mostly to keep both structs SSA-able, which generates much better
    // code.
    type inlineUnwinder struct {
    	f       funcInfo
    	inlTree *[1 << 20]inlinedCall
    }
    
    // An inlineFrame is a position in an inlineUnwinder.
    type inlineFrame struct {
    	// pc is the PC giving the file/line metadata of the current frame. This is
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 4.5K bytes
    - Viewed (0)
  5. 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)
  6. 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)
  7. 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)
  8. src/runtime/traceback.go

    		// Go frames).
    		if skip == 0 {
    			n += copy(pcBuf[n:], cgoBuf[:cgoN])
    		}
    	}
    	return n
    }
    
    // printArgs prints function arguments in traceback.
    func printArgs(f funcInfo, argp unsafe.Pointer, pc uintptr) {
    	p := (*[abi.TraceArgsMaxLen]uint8)(funcdata(f, abi.FUNCDATA_ArgInfo))
    	if p == nil {
    		return
    	}
    
    	liveInfo := funcdata(f, abi.FUNCDATA_ArgLiveInfo)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 55.1K bytes
    - Viewed (0)
  9. 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)
  10. src/runtime/panic.go

    			u.next()
    		}
    
    		p.lr = u.frame.lr
    		p.sp = unsafe.Pointer(u.frame.sp)
    		p.fp = unsafe.Pointer(u.frame.fp)
    
    		ok = true
    	})
    
    	return
    }
    
    func (p *_panic) initOpenCodedDefers(fn funcInfo, varp unsafe.Pointer) bool {
    	fd := funcdata(fn, abi.FUNCDATA_OpenCodedDeferInfo)
    	if fd == nil {
    		return false
    	}
    
    	if fn.deferreturn == 0 {
    		throw("missing deferreturn")
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 43.8K bytes
    - Viewed (0)
Back to top