Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 363 for getg (0.29 sec)

  1. src/runtime/debugcall.go

    // explaining why.
    //
    //go:nosplit
    func debugCallCheck(pc uintptr) string {
    	// No user calls from the system stack.
    	if getg() != getg().m.curg {
    		return debugCallSystemStack
    	}
    	if sp := getcallersp(); !(getg().stack.lo < sp && sp <= getg().stack.hi) {
    		// Fast syscalls (nanotime) and racecall switch to the
    		// g0 stack without switching g. We can't safely make
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 05 20:50:21 UTC 2024
    - 7.1K bytes
    - Viewed (0)
  2. src/runtime/lock_futex.go

    }
    
    func notetsleep(n *note, ns int64) bool {
    	gp := getg()
    	if gp != gp.m.g0 && gp.m.preemptoff != "" {
    		throw("notetsleep not on g0")
    	}
    
    	return notetsleep_internal(n, ns)
    }
    
    // same as runtimeĀ·notetsleep, but called on user g (not g0)
    // calls only nosplit functions between entersyscallblock/exitsyscall.
    func notetsleepg(n *note, ns int64) bool {
    	gp := getg()
    	if gp == gp.m.g0 {
    		throw("notetsleepg on g0")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:34 UTC 2024
    - 5.4K bytes
    - Viewed (0)
  3. src/runtime/lock_sema.go

    }
    
    func notetsleep(n *note, ns int64) bool {
    	gp := getg()
    	if gp != gp.m.g0 {
    		throw("notetsleep not on g0")
    	}
    	semacreate(gp.m)
    	return notetsleep_internal(n, ns, nil, 0)
    }
    
    // same as runtimeĀ·notetsleep, but called on user g (not g0)
    // calls only nosplit functions between entersyscallblock/exitsyscall.
    func notetsleepg(n *note, ns int64) bool {
    	gp := getg()
    	if gp == gp.m.g0 {
    		throw("notetsleepg on g0")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 6.8K bytes
    - Viewed (0)
  4. src/runtime/proflabel.go

    //
    //go:linkname runtime_setProfLabel runtime/pprof.runtime_setProfLabel
    func runtime_setProfLabel(labels unsafe.Pointer) {
    	// Introduce race edge for read-back via profile.
    	// This would more properly use &getg().labels as the sync address,
    	// but we do the read in a signal handler and can't call the race runtime then.
    	//
    	// This uses racereleasemerge rather than just racerelease so
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 2.1K bytes
    - Viewed (0)
  5. src/runtime/race.go

    //go:nosplit
    func racerelease(addr unsafe.Pointer) {
    	racereleaseg(getg(), addr)
    }
    
    //go:nosplit
    func racereleaseg(gp *g, addr unsafe.Pointer) {
    	if getg().raceignore != 0 || !isvalidaddr(addr) {
    		return
    	}
    	racecall(&__tsan_release, gp.racectx, uintptr(addr), 0, 0)
    }
    
    //go:nosplit
    func racereleaseacquire(addr unsafe.Pointer) {
    	racereleaseacquireg(getg(), addr)
    }
    
    //go:nosplit
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:37:29 UTC 2024
    - 20.4K bytes
    - Viewed (0)
  6. src/runtime/mwbbuf.go

    func (b *wbBuf) empty() bool {
    	return b.next == uintptr(unsafe.Pointer(&b.buf[0]))
    }
    
    // getX returns space in the write barrier buffer to store X pointers.
    // getX will flush the buffer if necessary. Callers should use this as:
    //
    //	buf := &getg().m.p.ptr().wbBuf
    //	p := buf.get2()
    //	p[0], p[1] = old, new
    //	... actual memory write ...
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.1K bytes
    - Viewed (0)
  7. 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)
  8. src/runtime/os_aix.go

    // This will return a pointer to errno.
    func miniterrno() {
    	mp := getg().m
    	r, _ := syscall0(&libc__Errno)
    	mp.perrno = r
    
    }
    
    func minit() {
    	miniterrno()
    	minitSignals()
    	getg().m.procid = uint64(pthread_self())
    }
    
    func unminit() {
    	unminitSignals()
    	getg().m.procid = 0
    }
    
    // Called from exitm, but not from drop, to undo the effect of thread-owned
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.9K bytes
    - Viewed (0)
  9. 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)
  10. src/runtime/export_debug_test.go

    	// a signal handler. Add the go:nowritebarrierrec annotation and restructure
    	// this to avoid write barriers.
    
    	switch h.gp.atomicstatus.Load() {
    	case _Grunning:
    		if getg().m != h.mp {
    			println("trap on wrong M", getg().m, h.mp)
    			return false
    		}
    		// Save the signal context
    		h.saveSigContext(ctxt)
    		// Set PC to debugCallV2.
    		ctxt.setsigpc(uint64(abi.FuncPCABIInternal(debugCallV2)))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 15:41:45 UTC 2024
    - 5.1K bytes
    - Viewed (0)
Back to top