- Sort Score
- Result 10 results
- Languages All
Results 21 - 30 of 32 for systemstack (0.41 sec)
-
src/runtime/asm_arm64.s
MOVD R3, R0 // arg = g MOVD $0, -16(RSP) // dummy LR SUB $16, RSP MOVD 0(R26), R4 // code pointer BL (R4) B runtime·badmcall2(SB) // systemstack_switch is a dummy routine that systemstack leaves at the bottom // of the G stack. We need to distinguish the routine that // lives at the bottom of the G stack from the one that lives // at the top of the system stack because the one at the top of
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Sat May 11 20:38:24 UTC 2024 - 43.4K bytes - Viewed (0) -
src/runtime/os_linux.go
if ret >= 0 { return } // I don't know that futex wakeup can return // EAGAIN or EINTR, but if it does, it would be // safe to loop and call futex again. systemstack(func() { print("futexwakeup addr=", addr, " returned ", ret, "\n") }) *(*int32)(unsafe.Pointer(uintptr(0x1006))) = 0x1006 } func getproccount() int32 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 25.9K bytes - Viewed (0) -
src/runtime/HACKING.md
System and signal stacks cannot grow, but are large enough to execute runtime and cgo code (8K in a pure Go binary; system-allocated in a cgo binary). Runtime code often temporarily switches to the system stack using `systemstack`, `mcall`, or `asmcgocall` to perform tasks that must not be preempted, that must not grow the user stack, or that switch user goroutines. Code running on the system stack is implicitly
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 13.9K bytes - Viewed (0) -
src/runtime/heapdump.go
// peak stack depths and we risk blowing the system stack. // This is safe because the world is stopped, so we don't // need to worry about anyone shrinking and therefore moving // our stack. var m MemStats systemstack(func() { // Call readmemstats_m here instead of deeper in // writeheapdump_m because we might blow the system stack // otherwise. readmemstats_m(&m) writeheapdump_m(fd, &m) }) startTheWorld(stw)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 09 04:07:57 UTC 2024 - 17.6K bytes - Viewed (0) -
src/runtime/metrics.go
a.gcMiscSys = memstats.gcMiscSys.load() a.otherSys = memstats.other_sys.load() a.heapGoal = gcController.heapGoal() a.gcCyclesDone = uint64(memstats.numgc) a.gcCyclesForced = uint64(memstats.numforcedgc) systemstack(func() { lock(&mheap_.lock) a.mSpanSys = memstats.mspan_sys.load() a.mSpanInUse = uint64(mheap_.spanalloc.inuse) a.mCacheSys = memstats.mcache_sys.load() a.mCacheInUse = uint64(mheap_.cachealloc.inuse)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 08 21:03:13 UTC 2024 - 26K bytes - Viewed (0) -
src/runtime/time.go
// in blockTimerChan, but timerHeaped not being set means // it hasn't run t.maybeAdd yet; in that case, running the // timer ourselves now is fine.) if now := nanotime(); t.when <= now { systemstack(func() { t.unlockAndRun(now) // resets t.when }) t.lock() } } } // stop stops the timer t. It may be on some other P, so we can't
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Mar 29 14:36:24 UTC 2024 - 37.5K bytes - Viewed (0) -
src/runtime/arena.go
if mp.mallocing != 0 { throw("malloc deadlock") } if mp.gsignal == getg() { throw("malloc during signal") } mp.mallocing = 1 // Allocate a new user arena. var span *mspan systemstack(func() { span = mheap_.allocUserArenaChunk() }) if span == nil { throw("out of memory") } x := unsafe.Pointer(span.base()) // Allocate black during GC.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:44:56 UTC 2024 - 37.9K bytes - Viewed (0) -
src/runtime/traceruntime.go
// synchronize with the tracer trying to flush our buffer // as well. seq := mp.trace.seqlock.Add(1) if debugTraceReentrancy && seq%2 != 1 { throw("bad use of trace.seqlock or tracer is reentrant") } systemstack(func() { lock(&trace.lock) for i := range mp.trace.buf { if mp.trace.buf[i] != nil { // N.B. traceBufFlush accepts a generation, but it // really just cares about gen%2.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 22:31:00 UTC 2024 - 25.7K bytes - Viewed (0) -
src/runtime/cgocall.go
gp.m.winsyscall = winsyscall } func cgocallbackg1(fn, frame unsafe.Pointer, ctxt uintptr) { gp := getg() if gp.m.needextram || extraMWaiters.Load() > 0 { gp.m.needextram = false systemstack(newextram) } if ctxt != 0 { s := append(gp.cgoCtxt, ctxt) // Now we need to set gp.cgoCtxt = s, but we could get // a SIGPROF signal while manipulating the slice, and
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 23 01:16:47 UTC 2024 - 24.2K bytes - Viewed (0) -
src/runtime/signal_unix.go
// and printable name of each signal. type sigTabT struct { flags int32 name string } //go:linkname os_sigpipe os.sigpipe func os_sigpipe() { systemstack(sigpipe) } func signame(sig uint32) string { if sig >= uint32(len(sigtable)) { return "" } return sigtable[sig].name } const ( _SIG_DFL uintptr = 0 _SIG_IGN uintptr = 1 )
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 10 16:04:54 UTC 2024 - 45K bytes - Viewed (0)