Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for callbackUpdateSystemStack (0.48 sec)

  1. src/runtime/testdata/testprogcgo/stackswitch.c

    	// N.B. since we used a custom stack with makecontext,
    	// callbackUpdateSystemStack had to guess the bounds. Its guess assumes
    	// a 32KiB stack.
    	char *prev_stack_lo = stack2 + STACK_SIZE - (32*1024);
    
    	// New SP is just barely in bounds, but if we don't update the bounds
    	// we'll almost certainly overflow. The SP that
    	// callbackUpdateSystemStack sees already has some data pushed, so it
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 26 15:17:33 UTC 2023
    - 3.9K bytes
    - Viewed (0)
  2. src/runtime/cgocall.go

    	return errno
    }
    
    // Set or reset the system stack bounds for a callback on sp.
    //
    // Must be nosplit because it is called by needm prior to fully initializing
    // the M.
    //
    //go:nosplit
    func callbackUpdateSystemStack(mp *m, sp uintptr, signal bool) {
    	g0 := mp.g0
    
    	inBound := sp > g0.stack.lo && sp <= g0.stack.hi
    	if mp.ncgo > 0 && !inBound {
    		// ncgo > 0 indicates that this M was in Go further up the stack
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:16:47 UTC 2024
    - 24.2K bytes
    - Viewed (0)
  3. src/runtime/proc.go

    	// would do this if necessary).
    	osSetupTLS(mp)
    
    	// Install g (= m->g0) and set the stack bounds
    	// to match the current stack.
    	setg(mp.g0)
    	sp := getcallersp()
    	callbackUpdateSystemStack(mp, sp, signal)
    
    	// Should mark we are already in Go now.
    	// Otherwise, we may call needm again when we get a signal, before cgocallbackg1,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 207.5K bytes
    - Viewed (0)
Back to top