Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 29 for inlTree (0.16 sec)

  1. src/cmd/internal/goobj/funcinfo.go

    	for _, f := range a.File {
    		writeUint32(uint32(f))
    	}
    	writeUint32(uint32(len(a.InlTree)))
    	for i := range a.InlTree {
    		a.InlTree[i].Write(w)
    	}
    }
    
    // FuncInfoLengths is a cache containing a roadmap of offsets and
    // lengths for things within a serialized FuncInfo. Each length field
    // stores the number of items (e.g. files, inltree nodes, etc), and the
    // corresponding "off" field stores the byte offset of the start of
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 21 19:28:46 UTC 2023
    - 3.8K bytes
    - Viewed (0)
  2. src/cmd/internal/obj/inl.go

    //
    // Eventually, the compiler extracts a per-function inlining tree from
    // the global inlining tree (see pcln.go).
    type InlTree struct {
    	nodes []InlinedCall
    }
    
    // InlinedCall is a node in an InlTree.
    type InlinedCall struct {
    	Parent   int      // index of the parent in the InlTree or < 0 if outermost call
    	Pos      src.XPos // position of the inlined call
    	Func     *LSym    // function that was inlined
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 22 22:47:15 UTC 2023
    - 4.4K bytes
    - Viewed (0)
  3. src/runtime/symtabinl.go

    	inldata := funcdata(f, abi.FUNCDATA_InlTree)
    	if inldata == nil {
    		return inlineUnwinder{f: f}, inlineFrame{pc: pc, index: -1}
    	}
    	inlTree := (*[1 << 20]inlinedCall)(inldata)
    	u := inlineUnwinder{f: f, inlTree: inlTree}
    	return u, u.resolveInternal(pc)
    }
    
    func (u *inlineUnwinder) resolveInternal(pc uintptr) inlineFrame {
    	return inlineFrame{
    		pc: pc,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 4.5K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/dwarfgen/dwinl.go

    	// children in the resulting table.
    	parCallIdx := -1
    	parInlIdx := base.Ctxt.InlTree.Parent(inlIdx)
    	if parInlIdx >= 0 {
    		parCallIdx = insertInlCall(dwcalls, parInlIdx, imap)
    	}
    
    	// Create new entry for this inline
    	inlinedFn := base.Ctxt.InlTree.InlinedFunction(inlIdx)
    	callXPos := base.Ctxt.InlTree.CallPos(inlIdx)
    	callPos := base.Ctxt.InnermostPos(callXPos)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Feb 26 20:45:07 UTC 2024
    - 12.8K bytes
    - Viewed (0)
  5. src/cmd/internal/obj/pcln.go

    	for _, inlMark := range fn.InlMarks {
    		pcinlineState.setParentPC(ctxt, int(inlMark.id), int32(inlMark.p.Pc))
    	}
    	pcln.InlTree = pcinlineState.localTree
    	if ctxt.Debugpcln == "pctoinline" && len(pcln.InlTree.nodes) > 0 {
    		ctxt.Logf("-- inlining tree for %s:\n", cursym)
    		dumpInlTree(ctxt, pcln.InlTree)
    		ctxt.Logf("--\n")
    	}
    
    	// tabulate which pc and func data we have.
    	havepc := make([]uint32, (npcdata+31)/32)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 31 20:45:15 UTC 2022
    - 11.8K bytes
    - Viewed (0)
  6. src/runtime/symtab_test.go

    		t.Errorf("Name() = %q, want %q", got, "")
    	}
    }
    
    var dummy int
    
    func inlined() {
    	// Side effect to prevent elimination of this entire function.
    	dummy = 42
    }
    
    // A function with an InlTree. Returns a PC within the function body.
    //
    // No inline to ensure this complete function appears in output.
    //
    //go:noinline
    func tracebackFunc(t *testing.T) uintptr {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 17 21:46:33 UTC 2022
    - 7.5K bytes
    - Viewed (0)
  7. src/cmd/internal/obj/link.go

    	Pcsp      *LSym
    	Pcfile    *LSym
    	Pcline    *LSym
    	Pcinline  *LSym
    	Pcdata    []*LSym
    	Funcdata  []*LSym
    	UsedFiles map[goobj.CUFileIndex]struct{} // file indices used while generating pcfile
    	InlTree   InlTree                        // per-function inlining tree extracted from the global tree
    }
    
    type Reloc struct {
    	Off  int32
    	Siz  uint8
    	Type objabi.RelocType
    	Add  int64
    	Sym  *LSym
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 33.1K bytes
    - Viewed (0)
  8. src/cmd/internal/obj/objfile.go

    		for f := range pc.UsedFiles {
    			o.File[i] = f
    			i++
    		}
    		sort.Slice(o.File, func(i, j int) bool { return o.File[i] < o.File[j] })
    		o.InlTree = make([]goobj.InlTreeNode, len(pc.InlTree.nodes))
    		for i, inl := range pc.InlTree.nodes {
    			f, l := ctxt.getFileIndexAndLine(inl.Pos)
    			o.InlTree[i] = goobj.InlTreeNode{
    				Parent:   int32(inl.Parent),
    				File:     goobj.CUFileIndex(f),
    				Line:     l,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 24K bytes
    - Viewed (0)
  9. src/cmd/link/internal/ld/pcln.go

    				default:
    					panic(fmt.Sprint("Unhandled architecture:", target.Arch.Family))
    				}
    			}
    			break // only need one
    		}
    	}
    	return deferreturn
    }
    
    // genInlTreeSym generates the InlTree sym for a function with the
    // specified FuncInfo.
    func genInlTreeSym(ctxt *Link, cu *sym.CompilationUnit, fi loader.FuncInfo, arch *sys.Arch, nameOffsets map[loader.Sym]uint32) loader.Sym {
    	ldr := ctxt.loader
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 21 22:16:54 UTC 2024
    - 29.6K bytes
    - Viewed (0)
  10. src/cmd/internal/obj/sym.go

    	for _, f := range usedFiles {
    		if filesym := ctxt.Lookup(files[f]); filesym != nil {
    			fn(fsym, filesym)
    		}
    	}
    	for _, call := range pc.InlTree.nodes {
    		if call.Func != nil {
    			fn(fsym, call.Func)
    		}
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 14:41:10 UTC 2024
    - 14.1K bytes
    - Viewed (0)
Back to top