- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 39 for unwinding (0.42 sec)
-
src/runtime/tracestack.go
// // fpunwindExpand checks if pcBuf contains logical frames (which include inlined // frames) or physical frames (produced by frame pointer unwinding) using a // sentinel value in pcBuf[0]. Logical frames are simply returned without the // sentinel. Physical frames are turned into logical frames via inline unwinding // and by applying the skip value that's stored in pcBuf[0]. func fpunwindExpand(dst, pcBuf []uintptr) int { if len(pcBuf) == 0 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 21 14:38:56 UTC 2024 - 11K bytes - Viewed (0) -
src/runtime/testdata/testwinlib/main.c
c->Rsp += 8; #elif defined(_X86_) c->Eip = *(DWORD *)c->Esp; c->Esp += 4; #else c->Pc = c->Lr; #endif #ifdef _ARM64_ // TODO: remove when windows/arm64 supports SEH stack unwinding. return EXCEPTION_CONTINUE_EXECUTION; #endif } return EXCEPTION_CONTINUE_SEARCH; } LONG WINAPI customContinueHandlder(struct _EXCEPTION_POINTERS *ExceptionInfo) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Oct 05 08:26:52 UTC 2023 - 2.5K bytes - Viewed (0) -
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/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/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) -
src/runtime/cgocall.go
// Then it calls _cgoexp_GoF(frame). // // _cgoexp_GoF, which was generated by cmd/cgo, unpacks the arguments // from frame, calls p.GoF, writes the results back to frame, and // returns. Now we start unwinding this whole process. // // runtime.cgocallbackg pops but does not execute the deferred // function to unwind m.g0.sched.sp, calls runtime.entersyscall, and // returns to runtime.cgocallback. //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 23 01:16:47 UTC 2024 - 24.2K bytes - Viewed (0) -
src/internal/runtime/atomic/atomic_arm.s
BNE store64loop DMB MB_ISH RET // The following functions all panic if their address argument isn't // 8-byte aligned. Since we're calling back into Go code to do this, // we have to cooperate with stack unwinding. In the normal case, the // functions tail-call into the appropriate implementation, which // means they must not open a frame. Hence, when they go down the // panic path, at that point they push the LR to create a real frame
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 5.7K bytes - Viewed (0)