Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 59 for systemstack (0.21 sec)

  1. 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)
  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/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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  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