- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 74 for systemstack (0.23 sec)
-
test/nowritebarrier.go
//go:noinline func d3() { x.f = y // ERROR "write barrier prohibited by caller" d4() } //go:yeswritebarrierrec func d4() { d2() } //go:noinline func systemstack(func()) {} //go:nowritebarrierrec func e1() { systemstack(e2) systemstack(func() { x.f = y // ERROR "write barrier prohibited by caller" }) } func e2() { x.f = y // ERROR "write barrier prohibited by caller"
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Aug 22 19:18:21 UTC 2023 - 1.3K bytes - Viewed (0) -
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/runtime/cgo_sigaction.go
// systemstack will make the call directly; otherwise, it will switch to // g0 to ensure we have enough room to call a libc function. // // The function literal that we pass to systemstack is not nosplit, but // that's ok: we'll be running on a fresh, clean system stack so the stack // check will always succeed anyway. systemstack(func() { ret = callCgoSigaction(uintptr(sig), new, old)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 05 17:54:15 UTC 2022 - 3.3K bytes - Viewed (0) -
src/runtime/testdata/testprogcgo/stackswitch.go
} //export stackSwitchCallback func stackSwitchCallback() { // We want to trigger a bounds check on the g0 stack. To do this, we // need to call a splittable function through systemstack(). // SetGCPercent contains such a systemstack call. gogc := debug.SetGCPercent(100) debug.SetGCPercent(gogc) } // Regression test for https://go.dev/issue/62440. It should be possible for C
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Nov 17 15:33:38 UTC 2023 - 1.1K bytes - Viewed (0) -
src/runtime/cgo_mmap.go
// an errno value. var ret uintptr systemstack(func() { ret = callCgoMmap(addr, n, prot, flags, fd, off) }) if ret < 4096 { return nil, int(ret) } return unsafe.Pointer(ret), 0 } return sysMmap(addr, n, prot, flags, fd, off) } func munmap(addr unsafe.Pointer, n uintptr) { if _cgo_munmap != nil { systemstack(func() { callCgoMunmap(addr, n) }) return }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Aug 25 20:58:13 UTC 2023 - 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)