Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 31 for unwinding (0.11 sec)

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. src/cmd/compile/internal/wasm/ssa.go

       Threads:
    
       Wasm doesn't (yet) have threads. We have to simulate threads by
       keeping goroutine stacks in linear memory and unwinding
       the Wasm stack each time we want to switch goroutines.
    
       To support unwinding a stack, each function call returns on the Wasm
       stack a boolean that tells the function whether it should return
       immediately or not. When returning immediately, a return address
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 24 00:21:13 UTC 2023
    - 17.6K bytes
    - Viewed (0)
  8. 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)
  9. src/runtime/sys_linux_amd64.s

    	MOVQ	runtime·cgoTraceback(SB), CX
    	MOVQ	$runtime·sigprofCallers(SB), R8
    	MOVQ	$runtime·sigprofNonGoWrapper<>(SB), R9
    	MOVQ	_cgo_callers(SB), AX
    	JMP	AX
    
    // For cgo unwinding to work, this function must look precisely like
    // the one in glibc. The glibc source code is:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 24 18:53:44 UTC 2023
    - 15.7K bytes
    - Viewed (0)
  10. src/cmd/internal/obj/wasm/wasmobj.go

    				// trying to unwind WebAssembly stack but call has no resume point, terminate with error
    				p = appendp(p, AIf)
    				p = appendp(p, obj.AUNDEF)
    				p = appendp(p, AEnd)
    			} else {
    				// unwinding WebAssembly stack to switch goroutine, return 1
    				p = appendp(p, ABrIf)
    				unwindExitBranches = append(unwindExitBranches, p)
    			}
    
    		case obj.ARET, ARETUNWIND:
    			ret := *p
    			p.As = obj.ANOP
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jun 14 00:03:57 UTC 2023
    - 34.6K bytes
    - Viewed (0)
Back to top