- Sort Score
- Result 10 results
- Languages All
Results 11 - 20 of 61 for unwinding (0.12 sec)
-
src/runtime/symtabinl_test.go
// We're probably in the trailing function padding, where findfunc // still returns f but there's no symbolic information. Just keep // going until we definitely hit the end. If we see a "?" in the // middle of unwinding, that's a real problem. // // TODO: If we ever have function end information, use that to make // this robust. continue } for ; uf.valid(); uf = u.next(uf) { file, line := u.fileLine(uf)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 15:41:45 UTC 2024 - 3K bytes - Viewed (0) -
src/runtime/cgo/signal_ios_arm64.s
ongothread: // Trigger a SIGSEGV panic. // // The goal is to arrange the stack so it looks like the runtime // function sigpanic was called from the PC that faulted. It has // to be sigpanic, as the stack unwinding code in traceback.go // looks explicitly for it. // // To do this we call into runtime·setsigsegv, which sets the // appropriate state inside the g object. We give it the faulting
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Oct 06 22:54:58 UTC 2020 - 1.8K bytes - Viewed (0) -
src/internal/abi/symtab.go
// The traceback routines cannot encode such changes into the // pcsp tables, so the function traceback cannot safely unwind past // SPWrite functions. Stopping at an SPWrite function is considered // to be an incomplete unwinding of the stack. In certain contexts // (in particular garbage collector stack scans) that is a fatal error. FuncFlagSPWrite // FuncFlagAsm indicates that a function was implemented in assembly. FuncFlagAsm )
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Feb 16 14:25:22 UTC 2024 - 3.6K bytes - Viewed (0) -
src/runtime/os3_plan9.go
pc := c.pc() sp := c.sp() // If we don't recognize the PC as code // but we do recognize the top pointer on the stack as code, // then assume this was a call to non-code and treat like // pc == 0, to make unwinding show the context. if pc != 0 && !findfunc(pc).valid() && findfunc(*(*uintptr)(unsafe.Pointer(sp))).valid() { pc = 0 } // IF LR exists, sigpanictramp must save it to the stack
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 15:41:45 UTC 2024 - 4K bytes - Viewed (0) -
src/runtime/callers_test.go
} func TestFPUnwindAfterRecovery(t *testing.T) { if !runtime.FramePointerEnabled { t.Skip("frame pointers not supported for this architecture") } // Make sure that frame pointer unwinding succeeds from a deferred // function run after recovering from a panic. It can fail if the // recovery does not properly restore the caller's frame pointer before // running the remaining deferred functions. //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Aug 28 21:36:31 UTC 2023 - 12.1K bytes - Viewed (0) -
src/runtime/tls_arm.s
// a call to runtime.read_tls_fallback which jumps to __kuser_get_tls. // The replacement function saves LR in R11 over the call to read_tls_fallback. // To make stack unwinding work, this function should NOT be marked as NOFRAME, // as it may contain a call, which clobbers LR even just temporarily. MRC 15, 0, R0, C13, C0, 3 // fetch TLS base pointer
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 10 20:38:07 UTC 2022 - 3.5K bytes - Viewed (0) -
test/recover.go
// is a problem because sometimes functions exit via panic instead // of an ordinary return, so panic would have to know to do the // same math when unwinding the stack. It gets complicated fast. // This particular test never worked with the old scheme, because // panic never did the right unwinding math. // // The new scheme adjusts Panic.argp on entry to a wrapper. // It has no exit work, so if a wrapper is interrupted by a panic,
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon May 02 13:43:18 UTC 2016 - 10.6K bytes - Viewed (0) -
src/runtime/signal_windows.go
} // After this point, it is safe to grow the stack. // Make it look like a call to the signal func. // Have to pass arguments out of band since // augmenting the stack frame would break // the unwinding code. gp.sig = info.exceptioncode gp.sigcode0 = info.exceptioninformation[0] gp.sigcode1 = info.exceptioninformation[1] gp.sigpc = r.ip() // Only push runtime·sigpanic if r.ip() != 0.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Oct 17 20:32:29 UTC 2023 - 14.5K bytes - Viewed (0) -
src/runtime/preempt.go
// here we'll see a seemingly self-recursive call, which is in // fact not. // This is normally ok, as we use the return address saved on // stack for unwinding, not the LR value. But if this is a // call to morestack, we haven't created the frame, and we'll // use the LR for unwinding, which will be bad. return false, 0 } up, startpc := pcdatavalue2(f, abi.PCDATA_UnsafePoint, pc) if up == abi.UnsafePointUnsafe {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 15:41:45 UTC 2024 - 15.1K bytes - Viewed (0) -
src/runtime/panic.go
// and String methods to prepare the panic strings before startpanic. preprintpanics(&p) fatalpanic(&p) // should not return *(*int)(nil) = 0 // not reached } // start initializes a panic to start unwinding the stack. // // If p.goexit is true, then start may return multiple times. func (p *_panic) start(pc uintptr, sp unsafe.Pointer) { gp := getg() // Record the caller's PC and SP, so recovery can identify panics
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 43.8K bytes - Viewed (0)