Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 11 for shouldPushSigpanic (0.31 sec)

  1. 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)
  2. src/runtime/signal_amd64.go

    	sp := uintptr(c.rsp())
    
    	// In case we are panicking from external code, we need to initialize
    	// Go special registers. We inject sigpanic0 (instead of sigpanic),
    	// which takes care of that.
    	if shouldPushSigpanic(gp, pc, *(*uintptr)(unsafe.Pointer(sp))) {
    		c.pushCall(abi.FuncPCABI0(sigpanic0), pc)
    	} else {
    		// Not safe to push the call. Just clobber the frame.
    		c.set_rip(uint64(abi.FuncPCABI0(sigpanic0)))
    	}
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Apr 23 05:38:56 UTC 2022
    - 2.7K bytes
    - Viewed (0)
  3. src/runtime/signal_loong64.go

    	// the stack frame but we're not going back there
    	// anyway.
    	sp := c.sp() - goarch.PtrSize
    	c.set_sp(sp)
    	*(*uint64)(unsafe.Pointer(uintptr(sp))) = c.link()
    
    	pc := gp.sigpc
    
    	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_r22(uint64(uintptr(unsafe.Pointer(gp))))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 21 06:51:28 UTC 2023
    - 3K bytes
    - Viewed (0)
  4. src/runtime/signal_arm.go

    	// the stack frame but we're not going back there
    	// anyway.
    	sp := c.sp() - 4
    	c.set_sp(sp)
    	*(*uint32)(unsafe.Pointer(uintptr(sp))) = c.lr()
    
    	pc := gp.sigpc
    
    	if shouldPushSigpanic(gp, pc, uintptr(c.lr())) {
    		// Make it look the like faulting PC called sigpanic.
    		c.set_lr(uint32(pc))
    	}
    
    	// In case we are panicking from external C code
    	c.set_r10(uint32(uintptr(unsafe.Pointer(gp))))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 2.5K bytes
    - Viewed (0)
  5. src/runtime/signal_riscv64.go

    	// the stack frame but we're not going back there
    	// anyway.
    	sp := c.sp() - goarch.PtrSize
    	c.set_sp(sp)
    	*(*uint64)(unsafe.Pointer(uintptr(sp))) = c.ra()
    
    	pc := gp.sigpc
    
    	if shouldPushSigpanic(gp, pc, uintptr(c.ra())) {
    		// Make it look the like faulting PC called sigpanic.
    		c.set_ra(uint64(pc))
    	}
    
    	// In case we are panicking from external C code
    	c.set_gp(uint64(uintptr(unsafe.Pointer(gp))))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 04 02:55:17 UTC 2023
    - 2.9K bytes
    - Viewed (0)
  6. src/runtime/signal_mipsx.go

    	// the stack frame but we're not going back there
    	// anyway.
    	sp := c.sp() - sys.MinFrameSize
    	c.set_sp(sp)
    	*(*uint32)(unsafe.Pointer(uintptr(sp))) = c.link()
    
    	pc := gp.sigpc
    
    	if shouldPushSigpanic(gp, pc, uintptr(c.link())) {
    		// Make it look the like faulting PC called sigpanic.
    		c.set_link(uint32(pc))
    	}
    
    	// In case we are panicking from external C code
    	c.set_r30(uint32(uintptr(unsafe.Pointer(gp))))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 3.1K bytes
    - Viewed (0)
  7. src/runtime/signal_mips64x.go

    	// the stack frame but we're not going back there
    	// anyway.
    	sp := c.sp() - goarch.PtrSize
    	c.set_sp(sp)
    	*(*uint64)(unsafe.Pointer(uintptr(sp))) = c.link()
    
    	pc := gp.sigpc
    
    	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
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 28 18:17:57 UTC 2021
    - 3.2K bytes
    - Viewed (0)
  8. src/runtime/signal_arm64.go

    	// 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))
    	}
    
    	// In case we are panicking from external C code
    	c.set_r28(uint64(uintptr(unsafe.Pointer(gp))))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 05 18:16:00 UTC 2023
    - 3.8K bytes
    - Viewed (0)
  9. src/runtime/signal_linux_s390x.go

    	// the stack frame but we're not going back there
    	// anyway.
    	sp := c.sp() - sys.MinFrameSize
    	c.set_sp(sp)
    	*(*uint64)(unsafe.Pointer(uintptr(sp))) = c.link()
    
    	pc := uintptr(gp.sigpc)
    
    	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)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Jun 17 20:42:23 UTC 2021
    - 4.5K bytes
    - Viewed (0)
  10. src/runtime/signal_ppc64x.go

    	// the stack frame but we're not going back there
    	// anyway.
    	sp := c.sp() - sys.MinFrameSize
    	c.set_sp(sp)
    	*(*uint64)(unsafe.Pointer(uintptr(sp))) = c.link()
    
    	pc := gp.sigpc
    
    	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)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 15:08:04 UTC 2023
    - 3.7K bytes
    - Viewed (0)
Back to top