- Sort Score
- Result 10 results
- Languages All
Results 21 - 30 of 391 for curg (0.12 sec)
-
src/runtime/stack.go
} if thisg.m.morebuf.g.ptr() != thisg.m.curg { print("runtime: newstack called from g=", hex(thisg.m.morebuf.g), "\n"+"\tm=", thisg.m, " m->curg=", thisg.m.curg, " m->g0=", thisg.m.g0, " m->gsignal=", thisg.m.gsignal, "\n") morebuf := thisg.m.morebuf traceback(morebuf.pc, morebuf.sp, morebuf.lr, morebuf.g.ptr()) throw("runtime: wrong goroutine in newstack") } gp := thisg.m.curg if thisg.m.curg.throwsplit {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 22:31:00 UTC 2024 - 41.1K bytes - Viewed (0) -
src/runtime/HACKING.md
so their memory remains type stable. As a result, the runtime can avoid write barriers in the depths of the scheduler. `getg()` and `getg().m.curg` ---------------------------- To get the current user `g`, use `getg().m.curg`. `getg()` alone returns the current `g`, but when executing on the system or signal stacks, this will return the current M's "g0" or
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 25 19:53:03 UTC 2024 - 13.9K bytes - Viewed (0) -
src/runtime/sys_linux_amd64.s
JZ sigtramp // g.m == nil MOVL m_ncgo(AX), CX TESTL CX, CX JZ sigtramp // g.m.ncgo == 0 MOVQ m_curg(AX), CX TESTQ CX, CX JZ sigtramp // g.m.curg == nil MOVQ g_syscallsp(CX), CX TESTQ CX, CX JZ sigtramp // g.m.curg.syscallsp == 0 MOVQ m_cgoCallers(AX), R8 TESTQ R8, R8 JZ sigtramp // g.m.cgoCallers == nil MOVL m_cgoCallersUse(AX), CX TESTL CX, CX
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Mar 24 18:53:44 UTC 2023 - 15.7K bytes - Viewed (0) -
src/runtime/tracestack.go
func traceStack(skip int, gp *g, gen uintptr) uint64 { var pcBuf [traceStackSize]uintptr // Figure out gp and mp for the backtrace. var mp *m if gp == nil { mp = getg().m gp = mp.curg } // Double-check that we own the stack we're about to trace. if debug.traceCheckStackOwnership != 0 && gp != nil { status := readgstatus(gp) // If the scan bit is set, assume we're the ones that acquired it.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 21 14:38:56 UTC 2024 - 11K bytes - Viewed (0) -
src/runtime/proc.go
var tagPtr *unsafe.Pointer if gp != nil && gp.m != nil && gp.m.curg != nil { tagPtr = &gp.m.curg.labels } cpuprof.add(tagPtr, stk[:n]) gprof := gp var mp *m var pp *p if gp != nil && gp.m != nil { if gp.m.curg != nil { gprof = gp.m.curg } mp = gp.m pp = gp.m.p.ptr() } traceCPUSample(gprof, mp, pp, stk[:n])
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 207.5K bytes - Viewed (0) -
src/runtime/cgocall.go
// taken from the frame structure, records the results in the frame, // and returns to runtime.asmcgocall. // // After it regains control, runtime.asmcgocall switches back to the // original g (m->curg)'s stack and returns to runtime.cgocall. // // After it regains control, runtime.cgocall calls exitsyscall, which blocks // until this m can run Go code without violating the $GOMAXPROCS limit, // and then unlocks g from m. //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 23 01:16:47 UTC 2024 - 24.2K bytes - Viewed (0) -
src/runtime/race_amd64.s
// See racecallback for command codes. TEXT runtime·racecallbackthunk(SB), NOSPLIT|NOFRAME, $0-0 // Handle command raceGetProcCmd (0) here. // First, code below assumes that we are on curg, while raceGetProcCmd // can be executed on g0. Second, it is called frequently, so will // benefit from this fast path. CMPQ RARG0, $0 JNE rest get_tls(RARG0) MOVQ g(RARG0), RARG0 MOVQ g_m(RARG0), RARG0
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 18:37:29 UTC 2024 - 15.1K bytes - Viewed (0) -
src/runtime/debugcall.go
// function call with return PC pc. If not, it returns a string // explaining why. // //go:nosplit func debugCallCheck(pc uintptr) string { // No user calls from the system stack. if getg() != getg().m.curg { return debugCallSystemStack } if sp := getcallersp(); !(getg().stack.lo < sp && sp <= getg().stack.hi) { // Fast syscalls (nanotime) and racecall switch to the // g0 stack without switching g. We can't safely make
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/mprof.go
if tracefpunwindoff() || gp.m.hasCgoOnStack() { mp.profStack[0] = logicalStackSentinel if gp.m.curg == nil || gp.m.curg == gp { nstk = callers(skip, mp.profStack[1:]) } else { nstk = gcallers(gp.m.curg, skip, mp.profStack[1:]) } } else { mp.profStack[0] = uintptr(skip) if gp.m.curg == nil || gp.m.curg == gp { if skip > 0 { // We skip one fewer frame than the provided value for frame
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:57:37 UTC 2024 - 53.3K bytes - Viewed (0) -
src/runtime/panic.go
} // Create a new deferred function fn, which has no arguments and results. // The compiler turns a defer statement into a call to this. func deferproc(fn func()) { gp := getg() if gp.m.curg != gp { // go code on the system stack can't defer throw("defer on system stack") } d := newdefer() d.link = gp._defer gp._defer = d d.fn = fn d.pc = getcallerpc()
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 43.8K bytes - Viewed (0)