Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 51 for sigpanic0 (0.92 sec)

  1. src/runtime/cgo/signal_ios_arm64.s

    	// 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
    	// PC on the stack, then put it in the LR before calling sigpanic.
    
    	// Build a 32-byte stack frame for us for this call.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 06 22:54:58 UTC 2020
    - 1.8K bytes
    - Viewed (0)
  2. src/runtime/signal_arm64.go

    	// Frame pointer unwinding won't visit the sigpanic frame, since
    	// sigpanic will save the same frame pointer before calling into a panic
    	// function.
    	*(*uint64)(unsafe.Pointer(uintptr(sp - goarch.PtrSize))) = c.r29()
    
    	pc := gp.sigpc
    
    	if shouldPushSigpanic(gp, pc, uintptr(c.lr())) {
    		// Make it look the like faulting PC called sigpanic.
    		c.set_lr(uint64(pc))
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 05 18:16:00 UTC 2023
    - 3.8K bytes
    - Viewed (0)
  3. src/runtime/panic.go

    		return false
    	}
    	releasem(mp)
    	return true
    }
    
    // shouldPushSigpanic reports whether pc should be used as sigpanic's
    // return PC (pushing a frame for the call). Otherwise, it should be
    // left alone so that LR is used as sigpanic's return PC, effectively
    // replacing the top-most frame with sigpanic. This is used by
    // preparePanic.
    func shouldPushSigpanic(gp *g, pc, lr uintptr) bool {
    	if pc == 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 43.8K bytes
    - Viewed (0)
  4. src/runtime/signal_loong64.go

    func (c *sigctxt) fault() uintptr { return uintptr(c.sigaddr()) }
    
    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	// We arrange link, and pc to pretend the panicking
    	// function calls sigpanic directly.
    	// Always save LINK to stack so that panics in leaf
    	// functions are correctly handled. This smashes
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 21 06:51:28 UTC 2023
    - 3K bytes
    - Viewed (0)
  5. src/runtime/signal_arm.go

    func (c *sigctxt) siglr() uintptr { return uintptr(c.lr()) }
    
    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	// We arrange lr, and pc to pretend the panicking
    	// function calls sigpanic directly.
    	// Always save LR to stack so that panics in leaf
    	// functions are correctly handled. This smashes
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 2.5K bytes
    - Viewed (0)
  6. src/runtime/signal_386.go

    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	pc := uintptr(c.eip())
    	sp := uintptr(c.esp())
    
    	if shouldPushSigpanic(gp, pc, *(*uintptr)(unsafe.Pointer(sp))) {
    		c.pushCall(abi.FuncPCABIInternal(sigpanic), pc)
    	} else {
    		// Not safe to push the call. Just clobber the frame.
    		c.set_eip(uint32(abi.FuncPCABIInternal(sigpanic)))
    	}
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 1.7K bytes
    - Viewed (0)
  7. src/runtime/signal_ppc64x.go

    	if shouldPushSigpanic(gp, pc, uintptr(c.link())) {
    		// Make it look the like faulting PC called sigpanic.
    		c.set_link(uint64(pc))
    	}
    
    	// In case we are panicking from external C code
    	c.set_r0(0)
    	c.set_r30(uint64(uintptr(unsafe.Pointer(gp))))
    	c.set_r12(uint64(abi.FuncPCABIInternal(sigpanic)))
    	c.set_pc(uint64(abi.FuncPCABIInternal(sigpanic)))
    }
    
    func (c *sigctxt) pushCall(targetPC, resumePC uintptr) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 15:08:04 UTC 2023
    - 3.7K bytes
    - Viewed (0)
  8. src/runtime/signal_riscv64.go

    func (c *sigctxt) fault() uintptr { return uintptr(c.sigaddr()) }
    
    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	// We arrange RA, and pc to pretend the panicking
    	// function calls sigpanic directly.
    	// Always save RA to stack so that panics in leaf
    	// functions are correctly handled. This smashes
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 04 02:55:17 UTC 2023
    - 2.9K bytes
    - Viewed (0)
  9. src/runtime/signal_mipsx.go

    func (c *sigctxt) fault() uintptr { return uintptr(c.sigaddr()) }
    
    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	// We arrange link, and pc to pretend the panicking
    	// function calls sigpanic directly.
    	// Always save LINK to stack so that panics in leaf
    	// functions are correctly handled. This smashes
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 3.1K bytes
    - Viewed (0)
  10. src/runtime/signal_linux_s390x.go

    func (c *sigctxt) fault() uintptr { return uintptr(c.sigaddr()) }
    
    // preparePanic sets up the stack to look like a call to sigpanic.
    func (c *sigctxt) preparePanic(sig uint32, gp *g) {
    	// We arrange link, and pc to pretend the panicking
    	// function calls sigpanic directly.
    	// Always save LINK to stack so that panics in leaf
    	// functions are correctly handled. This smashes
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Jun 17 20:42:23 UTC 2021
    - 4.5K bytes
    - Viewed (0)
Back to top