- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 10 for _Gcopystack (0.18 sec)
-
src/runtime/tracestatus.go
// N.B. Ignore the _Gscan bit. We don't model it in the tracer. var tgs traceGoStatus switch status &^ _Gscan { case _Grunnable: tgs = traceGoRunnable case _Grunning, _Gcopystack: tgs = traceGoRunning case _Gsyscall: tgs = traceGoSyscall case _Gwaiting, _Gpreempted: // There are a number of cases where a G might end up in // _Gwaiting but it's actually running in a non-preemptive
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 15 17:03:35 UTC 2024 - 7.2K bytes - Viewed (0) -
src/runtime/runtime-gdb.py
G_MORIBUND_UNUSED = read_runtime_const("'runtime._Gmoribund_unused'", 5) G_DEAD = read_runtime_const("'runtime._Gdead'", 6) G_ENQUEUE_UNUSED = read_runtime_const("'runtime._Genqueue_unused'", 7) G_COPYSTACK = read_runtime_const("'runtime._Gcopystack'", 8) G_SCAN = read_runtime_const("'runtime._Gscan'", 0x1000) G_SCANRUNNABLE = G_SCAN+G_RUNNABLE G_SCANRUNNING = G_SCAN+G_RUNNING G_SCANSYSCALL = G_SCAN+G_SYSCALL G_SCANWAITING = G_SCAN+G_WAITING
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 10 12:59:20 UTC 2023 - 15.4K bytes - Viewed (0) -
src/runtime/runtime2.go
// list. _Gdead // 6 // _Genqueue_unused is currently unused. _Genqueue_unused // 7 // _Gcopystack means this goroutine's stack is being moved. It // is not executing user code and is not on a run queue. The // stack is owned by the goroutine that put it in _Gcopystack. _Gcopystack // 8 // _Gpreempted means this goroutine stopped itself for a // suspendG preemption. It is like _Gwaiting, but nothing is
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:57:37 UTC 2024 - 47.9K bytes - Viewed (0) -
src/runtime/preempt.go
// // preemptStop may need to be cleared, but // doing that here could race with goroutine // reuse. Instead, goexit0 clears it. return suspendGState{dead: true} case _Gcopystack: // The stack is being copied. We need to wait // until this is done. case _Gpreempted: // We (or someone else) suspended the G. Claim // ownership of it by transitioning it to // _Gwaiting.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 15:41:45 UTC 2024 - 15.1K bytes - Viewed (0) -
src/runtime/stack.go
// so it must be Grunning (or Gscanrunning). casgstatus(gp, _Grunning, _Gcopystack) // The concurrent GC will not scan the stack while we are doing the copy since // the gp is in a Gcopystack status. copystack(gp, newsize) if stackDebug >= 1 { print("stack grow done\n") } casgstatus(gp, _Gcopystack, _Grunning) gogo(&gp.sched) } //go:nosplit func nilfunc() {
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/traceback.go
} var gStatusStrings = [...]string{ _Gidle: "idle", _Grunnable: "runnable", _Grunning: "running", _Gsyscall: "syscall", _Gwaiting: "waiting", _Gdead: "dead", _Gcopystack: "copystack", _Gpreempted: "preempted", } func goroutineheader(gp *g) { level, _, _ := gotraceback() gpstatus := readgstatus(gp) isScan := gpstatus&_Gscan != 0
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 16:25:21 UTC 2024 - 55.1K bytes - Viewed (0) -
src/runtime/proc.go
//go:nosplit func casgcopystack(gp *g) uint32 { for { oldstatus := readgstatus(gp) &^ _Gscan if oldstatus != _Gwaiting && oldstatus != _Grunnable { throw("copystack: bad status, not Gwaiting or Grunnable") } if gp.atomicstatus.CompareAndSwap(oldstatus, _Gcopystack) { return oldstatus } } } // casGToPreemptScan transitions gp from _Grunning to _Gscan|_Gpreempted. //
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/chan.go
gp := getg() mysg := acquireSudog() mysg.releasetime = 0 if t0 != 0 { mysg.releasetime = -1 } // No stack splits between assigning elem and enqueuing mysg // on gp.waiting where copystack can find it. mysg.elem = ep mysg.waitlink = nil mysg.g = gp mysg.isSelect = false mysg.c = c gp.waiting = mysg gp.param = nil c.sendq.enqueue(mysg)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 23 01:16:50 UTC 2024 - 25.9K bytes - Viewed (0) -
src/runtime/select.go
casi = int(casei) cas = &scases[casi] c = cas.c sg := acquireSudog() sg.g = gp sg.isSelect = true // No stack splits between assigning elem and enqueuing // sg on gp.waiting where copystack can find it. sg.elem = cas.elem sg.releasetime = 0 if t0 != 0 { sg.releasetime = -1 } sg.c = c // Construct waiting list in lock order. *nextp = sg nextp = &sg.waitlink
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Mar 13 21:36:04 UTC 2024 - 15K bytes - Viewed (0) -
src/runtime/mgcmark.go
scanframeworker(&u.frame, &state, gcw) } // Find additional pointers that point into the stack from the heap. // Currently this includes defers and panics. See also function copystack. // Find and trace other pointers in defer records. for d := gp._defer; d != nil; d = d.link { if d.fn != nil { // Scan the func value, which could be a stack allocated closure. // See issue 30453.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 18 21:25:11 UTC 2024 - 52.5K bytes - Viewed (0)