- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 363 for getg (0.29 sec)
-
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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)