Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 13 for systemstack (0.35 sec)

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. src/runtime/rwmutex.go

    	// while sleeping.
    	acquireLockRankAndM(rw.readRank)
    	lockWithRankMayAcquire(&rw.rLock, getLockRank(&rw.rLock))
    
    	if rw.readerCount.Add(1) < 0 {
    		// A writer is pending. Park on the reader queue.
    		systemstack(func() {
    			lock(&rw.rLock)
    			if rw.readerPass > 0 {
    				// Writer finished.
    				rw.readerPass -= 1
    				unlock(&rw.rLock)
    			} else {
    				// Queue this reader to be woken by
    				// the writer.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 14:29:04 UTC 2024
    - 5K bytes
    - Viewed (0)
  7. src/runtime/sys_openbsd2.go

    		tp       unsafe.Pointer
    	}{_CLOCK_MONOTONIC, unsafe.Pointer(&ts)}
    	if errno := libcCall(unsafe.Pointer(abi.FuncPCABI0(clock_gettime_trampoline)), unsafe.Pointer(&args)); errno < 0 {
    		// Avoid growing the nosplit stack.
    		systemstack(func() {
    			println("runtime: errno", -errno)
    			throw("clock_gettime failed")
    		})
    	}
    	return ts.tv_sec*1e9 + int64(ts.tv_nsec)
    }
    func clock_gettime_trampoline()
    
    //go:nosplit
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.7K bytes
    - Viewed (0)
  8. src/runtime/cgocheck.go

    	// Do this check last because it is more expensive and rarely true.
    	// If it is false the expense doesn't matter since we are crashing.
    	if inPersistentAlloc(uintptr(unsafe.Pointer(dst))) {
    		return
    	}
    
    	systemstack(func() {
    		println("write of unpinned Go pointer", hex(uintptr(src)), "to non-Go memory", hex(uintptr(unsafe.Pointer(dst))))
    		throw(cgoWriteBarrierFail)
    	})
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 7.6K bytes
    - Viewed (0)
  9. src/runtime/tracetime.go

    	w, _ = w.ensure(1 + traceBytesPerNumber /* traceEvFrequency + frequency */)
    
    	// Write out the string.
    	w.byte(byte(traceEvFrequency))
    	w.varint(traceClockUnitsPerSecond())
    
    	// Immediately flush the buffer.
    	systemstack(func() {
    		lock(&trace.lock)
    		traceBufFlush(w.traceBuf, gen)
    		unlock(&trace.lock)
    	})
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 21:17:41 UTC 2024
    - 3.3K bytes
    - Viewed (0)
  10. src/runtime/os_openbsd.go

    //go:nosplit
    func semawakeup(mp *m) {
    	atomic.Xadd(&mp.waitsemacount, 1)
    	ret := thrwakeup(uintptr(unsafe.Pointer(&mp.waitsemacount)), 1)
    	if ret != 0 && ret != _ESRCH {
    		// semawakeup can be called on signal stack.
    		systemstack(func() {
    			print("thrwakeup addr=", &mp.waitsemacount, " sem=", mp.waitsemacount, " ret=", ret, "\n")
    		})
    	}
    }
    
    func osinit() {
    	ncpu = getncpu()
    	physPageSize = getPageSize()
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 6.2K bytes
    - Viewed (0)
Back to top