inltree := (*[1 << 20]inlinedCall)(inldata)
ix := pcdatavalue(f, _PCDATA_InlTreeIndex, pc, nil)
if ix >= 0 {
- name = funcnameFromNameoff(f, inltree[ix].func_)
+ name = funcnameFromNameoff(f, inltree[ix].nameOff)
}
}
if hasPrefix(name, "runtime.") ||
continue
}
ctx.pc = f.Entry() + uintptr(inltree[ix].parentPc) // "caller" pc
- ctx.fn = cfuncnameFromNameoff(fi, inltree[ix].func_)
+ ctx.fn = cfuncnameFromNameoff(fi, inltree[ix].nameOff)
ctx.line = uintptr(line)
ctx.file = &bytes(file)[0] // assume NUL-terminated
ctx.off = pc - f.Entry()
if ix >= 0 {
// Note: entry is not modified. It always refers to a real frame, not an inlined one.
f = nil
- name = funcnameFromNameoff(funcInfo, inltree[ix].func_)
+ name = funcnameFromNameoff(funcInfo, inltree[ix].nameOff)
// File/line from funcline1 below are already correct.
}
}
// The runtime currently doesn't have function end info, alas.
if ix := pcdatavalue1(f, _PCDATA_InlTreeIndex, pc, nil, false); ix >= 0 {
inltree := (*[1 << 20]inlinedCall)(inldata)
- name := funcnameFromNameoff(f, inltree[ix].func_)
+ name := funcnameFromNameoff(f, inltree[ix].nameOff)
file, line := funcline(f, pc)
fi := &funcinl{
ones: ^uint32(0),
type inlinedCall struct {
funcID funcID // type of the called function
_ [3]byte
- func_ int32 // offset into pclntab for name of called function
+ nameOff int32 // offset into pclntab for name of called function
parentPc int32 // position of an instruction whose source position is the call site (offset from entry)
}
// Create a fake _func for the
// inlined function.
- inlFunc.nameoff = inltree[ix].func_
+ inlFunc.nameoff = inltree[ix].nameOff
inlFunc.funcID = inltree[ix].funcID
if (flags&_TraceRuntimeFrames) != 0 || showframe(inlFuncInfo, gp, nprint == 0, inlFuncInfo.funcID, lastFuncID) {
inltree := (*[1 << 20]inlinedCall)(inldata)
ix := pcdatavalue(f, _PCDATA_InlTreeIndex, pc, nil)
if ix >= 0 {
- name = funcnameFromNameoff(f, inltree[ix].func_)
+ name = funcnameFromNameoff(f, inltree[ix].nameOff)
}
}
file, line := funcline(f, pc)