Search Options

Results per page
Sort
Preferred Languages
Advance

Results 21 - 30 of 59 for Setg (0.09 sec)

  1. src/runtime/lockrank_on.go

    			throw("lockRank release without matching lockRank acquire")
    		}
    	})
    
    	releasem(getg().m)
    }
    
    // nosplit because it may be called from nosplit contexts.
    //
    //go:nosplit
    func lockWithRankMayAcquire(l *mutex, rank lockRank) {
    	gp := getg()
    	if gp.m.locksHeldLen == 0 {
    		// No possibility of lock ordering problem if no other locks held
    		return
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 14:29:04 UTC 2024
    - 10.6K bytes
    - Viewed (0)
  2. src/runtime/os_windows.go

    	if ns < 0 {
    		result = stdcall2(_WaitForSingleObject, getg().m.waitsema, uintptr(_INFINITE))
    	} else {
    		start := nanotime()
    		elapsed := int64(0)
    		for {
    			ms := int64(timediv(ns-elapsed, 1000000, nil))
    			if ms == 0 {
    				ms = 1
    			}
    			result = stdcall4(_WaitForMultipleObjects, 2,
    				uintptr(unsafe.Pointer(&[2]uintptr{getg().m.waitsema, getg().m.resumesema})),
    				0, uintptr(ms))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 22:55:25 UTC 2024
    - 41.5K bytes
    - Viewed (0)
  3. src/runtime/signal_windows.go

    	callbackLastVCH
    )
    
    // sigFetchGSafe is like getg() but without panicking
    // when TLS is not set.
    // Only implemented on windows/386, which is the only
    // arch that loads TLS when calling getg(). Others
    // use a dedicated register.
    func sigFetchGSafe() *g
    
    func sigFetchG() *g {
    	if GOARCH == "386" {
    		return sigFetchGSafe()
    	}
    	return getg()
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 17 20:32:29 UTC 2023
    - 14.5K bytes
    - Viewed (0)
  4. src/runtime/export_test.go

    	}
    	return
    }
    
    func GetNextArenaHint() uintptr {
    	return mheap_.arenaHints.addr
    }
    
    type G = g
    
    type Sudog = sudog
    
    func Getg() *G {
    	return getg()
    }
    
    func Goid() uint64 {
    	return getg().goid
    }
    
    func GIsWaitingOnMutex(gp *G) bool {
    	return readgstatus(gp) == _Gwaiting && gp.waitreason.isMutexWait()
    }
    
    var CasGStatusAlwaysTrack = &casgstatusAlwaysTrack
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:50:53 UTC 2024
    - 46.1K bytes
    - Viewed (0)
  5. src/runtime/os_plan9.go

    	var buf [_ERRMAX]byte
    	if !atomic.Cas(&exiting, 0, 1) {
    		return
    	}
    	getg().m.locks++
    	n := copy(buf[:], goexits)
    	n = copy(buf[n:], gostringnocopy(status))
    	pid := getpid()
    	for mp := (*m)(atomic.Loadp(unsafe.Pointer(&allm))); mp != nil; mp = mp.alllink {
    		if mp.procid != 0 && mp.procid != pid {
    			postnote(mp.procid, buf[:])
    		}
    	}
    	getg().m.locks--
    }
    
    var procdir = []byte("/proc/")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 15:41:45 UTC 2024
    - 10.3K bytes
    - Viewed (0)
  6. src/runtime/HACKING.md

    so their memory remains type stable. As a result, the runtime can
    avoid write barriers in the depths of the scheduler.
    
    `getg()` and `getg().m.curg`
    ----------------------------
    
    To get the current user `g`, use `getg().m.curg`.
    
    `getg()` alone returns the current `g`, but when executing on the
    system or signal stacks, this will return the current M's "g0" or
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 13.9K bytes
    - Viewed (0)
  7. src/runtime/tracestack.go

    		// symbolizer.
    		pcBuf[0] = logicalStackSentinel
    		if getg() == gp {
    			nstk += callers(skip+1, pcBuf[1:])
    		} else if gp != nil {
    			nstk += gcallers(gp, skip, pcBuf[1:])
    		}
    	} else {
    		// Fast path: Unwind using frame pointers.
    		pcBuf[0] = uintptr(skip)
    		if getg() == gp {
    			nstk += fpTracebackPCs(unsafe.Pointer(getfp()), pcBuf[1:])
    		} else if gp != nil {
    			// Three cases:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 14:38:56 UTC 2024
    - 11K bytes
    - Viewed (0)
  8. src/runtime/os_darwin.go

    		minitSignalStack()
    	}
    	minitSignalMask()
    	getg().m.procid = uint64(pthread_self())
    }
    
    // Called from dropm to undo the effect of an minit.
    //
    //go:nosplit
    func unminit() {
    	// iOS does not support alternate signal stack.
    	// See minit.
    	if !(GOOS == "ios" && GOARCH == "arm64") {
    		unminitSignals()
    	}
    	getg().m.procid = 0
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Dec 05 20:34:30 UTC 2023
    - 11.9K bytes
    - Viewed (0)
  9. src/runtime/panic.go

    		// Note: wasm can't tail call, so we can't get the original caller's pc.
    		throw(msg)
    	}
    	// TODO: is this redundant? How could we be in malloc
    	// but not in the runtime? runtime/internal/*, maybe?
    	gp := getg()
    	if gp != nil && gp.m != nil && gp.m.mallocing != 0 {
    		throw(msg)
    	}
    }
    
    // Same as above, but calling from the runtime is allowed.
    //
    // Using this function is necessary for any panic that may be
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 43.8K bytes
    - Viewed (0)
  10. src/runtime/stack.go

    	}
    	if s := readgstatus(gp); s&_Gscan == 0 {
    		// We don't own the stack via _Gscan. We could still
    		// own it if this is our own user G and we're on the
    		// system stack.
    		if !(gp == getg().m.curg && getg() != getg().m.curg && s == _Grunning) {
    			// We don't own the stack.
    			throw("bad status in shrinkstack")
    		}
    	}
    	if !isShrinkStackSafe(gp) {
    		throw("shrinkstack at bad time")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 41.1K bytes
    - Viewed (0)
Back to top