Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 39 for unwinding (0.42 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/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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
Back to top