Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 20 for systemstack (0.15 sec)

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. src/cmd/internal/objabi/funcid.go

    	"panicwrap":          abi.FuncID_panicwrap,
    	"runfinq":            abi.FuncID_runfinq,
    	"sigpanic":           abi.FuncID_sigpanic,
    	"systemstack_switch": abi.FuncID_systemstack_switch,
    	"systemstack":        abi.FuncID_systemstack,
    
    	// Don't show in call stack but otherwise not special.
    	"deferreturn": abi.FuncIDWrapper,
    }
    
    // Get the function ID for the named function in the named file.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Dec 06 21:33:59 UTC 2023
    - 1.6K bytes
    - Viewed (0)
  9. 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)
  10. 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)
Back to top