- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 59 for systemstack (0.3 sec)
-
src/runtime/lockrank_on.go
// other (nosplit) call before this call (including the call to lock() itself). // // However, we switch to the systemstack to record the lock held to ensure that // we record an accurate lock ordering. e.g., without systemstack, a stack // split on entry to lock2() would record stack split locks as taken after l, // even though l is not actually locked yet. func lockWithRank(l *mutex, rank lockRank) {
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/tracestring.go
if added { // Write the string to the buffer. systemstack(func() { t.writeString(gen, id, s) }) } return id } // emit emits a string and creates an ID for it, but doesn't add it to the table. Returns the ID. func (t *traceStringTable) emit(gen uintptr, s string) uint64 { // Grab an ID and write the string to the buffer. id := t.tab.stealID() systemstack(func() { t.writeString(gen, id, s) }) return id
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 15 17:03:35 UTC 2024 - 2.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssagen/nowb.go
func newNowritebarrierrecChecker() *nowritebarrierrecChecker { c := &nowritebarrierrecChecker{ extraCalls: make(map[*ir.Func][]nowritebarrierrecCall), } // Find all systemstack calls and record their targets. In // general, flow analysis can't see into systemstack, but it's // important to handle it for this check, so we model it // directly. This has to happen before transforming closures in walk since
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 17:29:46 UTC 2024 - 5.9K bytes - Viewed (0) -
src/runtime/stubs.go
func mcall(fn func(*g)) // systemstack runs fn on a system stack. // If systemstack is called from the per-OS-thread (g0) stack, or // if systemstack is called from the signal handling (gsignal) stack, // systemstack calls fn directly and returns. // Otherwise, systemstack is being called from the limited stack // of an ordinary goroutine. In this case, systemstack switches
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 20.2K bytes - Viewed (0) -
src/runtime/debugcall.go
// g0 stack without switching g. We can't safely make // a call in this state. (We can't even safely // systemstack.) return debugCallSystemStack } // Switch to the system stack to avoid overflowing the user // stack. var ret string systemstack(func() { f := findfunc(pc) if !f.valid() { ret = debugCallUnknownFunc return } name := funcname(f)
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/pinner.go
if pin { if pinState.isPinned() { // multiple pins on same object, set multipin bit pinState.setMultiPinned(true) // and increase the pin counter // TODO(mknyszek): investigate if systemstack is necessary here systemstack(func() { offset := objIndex * span.elemsize span.incPinCounter(offset) }) } else { // set pin bit pinState.setPinned(true) } } else { // unpin
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 04 14:29:45 UTC 2024 - 11K bytes - Viewed (0) -
src/runtime/export_test.go
return (*LFNode)((*lfstack)(head).pop()) } func LFNodeValidate(node *LFNode) { lfnodeValidate((*lfnode)(unsafe.Pointer(node))) } func Netpoll(delta int64) { systemstack(func() { netpoll(delta) }) } func GCMask(x any) (ret []byte) { systemstack(func() { ret = getgcmask(x) }) return } func RunSchedLocalQueueTest() { pp := new(p) gs := make([]g, len(pp.runq))
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:50:53 UTC 2024 - 46.1K bytes - Viewed (0) -
src/runtime/vdso_freebsd_x86.go
//go:nosplit func (th *vdsoTimehands) getHPETTimecounter() (uint32, bool) { idx := int(th.x86_hpet_idx) if idx >= len(hpetDevMap) { return 0, false } p := atomic.Loaduintptr(&hpetDevMap[idx]) if p == 0 { systemstack(func() { initHPETTimecounter(idx) }) p = atomic.Loaduintptr(&hpetDevMap[idx]) } if p == ^uintptr(0) { return 0, false } return *(*uint32)(unsafe.Pointer(p + _HPET_MAIN_COUNTER)), true }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 1.9K bytes - Viewed (0) -
src/runtime/mgc.go
work.mode = mode now := nanotime() work.tSweepTerm = now var stw worldStop systemstack(func() { stw = stopTheWorldWithSema(stwGCSweepTerm) }) // Accumulate fine-grained stopping time. work.cpuStats.accumulateGCPauseTime(stw.stoppingCPUTime, 1) // Finish sweep before we start concurrent scan. systemstack(func() { finishsweep_m() })
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 16:25:21 UTC 2024 - 62K bytes - Viewed (0) -
src/runtime/tracebuf.go
if refill { w = w.refill(traceNoExperiment) } return w, refill } // flush puts w.traceBuf on the queue of full buffers. func (w traceWriter) flush() traceWriter { systemstack(func() { lock(&trace.lock) if w.traceBuf != nil { traceBufFlush(w.traceBuf, w.gen) } unlock(&trace.lock) }) w.traceBuf = nil return w }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:47:01 UTC 2024 - 6.8K bytes - Viewed (0)