- Sort Score
- Result 10 results
- Languages All
Results 1 - 8 of 8 for g_stackguard0 (0.45 sec)
-
src/runtime/asm_ppc64x.s
// create istack out of the given (operating system) stack. // _cgo_init may update stackguard. MOVD $runtimeĀ·g0(SB), g BL runtimeĀ·save_g(SB) MOVD $(-64*1024), R31 ADD R31, R1, R3 MOVD R3, g_stackguard0(g) MOVD R3, g_stackguard1(g) MOVD R3, (g_stack+stack_lo)(g) MOVD R1, (g_stack+stack_hi)(g) // If there is a _cgo_init, call it using the gcc ABI. MOVD _cgo_init(SB), R12 CMP R12, $0 BEQ nocgo
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 18:17:17 UTC 2024 - 45.4K bytes - Viewed (0) -
src/runtime/stack.go
thisg.m.morebuf.pc = 0 thisg.m.morebuf.lr = 0 thisg.m.morebuf.sp = 0 thisg.m.morebuf.g = 0 // NOTE: stackguard0 may change underfoot, if another thread // is about to try to preempt gp. Read it just once and use that same // value now and below. stackguard0 := atomic.Loaduintptr(&gp.stackguard0) // Be conservative about where we preempt. // We are interested in preempting user Go code, not runtime code.
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/preempt.go
if gp.preemptStop && gp.preempt && gp.stackguard0 == stackPreempt && asyncM == gp.m && asyncM.preemptGen.Load() == asyncGen { break } // Temporarily block state transitions. if !castogscanstatus(gp, _Grunning, _Gscanrunning) { break } // Request synchronous preemption. gp.preemptStop = true gp.preempt = true gp.stackguard0 = stackPreempt
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/cgocall.go
// Stack is bogus, but reset the bounds anyway so we can print. hi := g0.stack.hi lo := g0.stack.lo g0.stack.hi = sp + 1024 g0.stack.lo = sp - 32*1024 g0.stackguard0 = g0.stack.lo + stackGuard g0.stackguard1 = g0.stackguard0 print("M ", mp.id, " procid ", mp.procid, " runtime: cgocallback with sp=", hex(sp), " out of bounds [", hex(lo), ", ", hex(hi), "]") print("\n") exit(2) }
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/runtime2.go
type heldLockInfo struct { lockAddr uintptr rank lockRank } type g struct { // Stack parameters. // stack describes the actual stack memory: [stack.lo, stack.hi). // stackguard0 is the stack pointer compared in the Go stack growth prologue. // It is stack.lo+StackGuard normally, but can be StackPreempt to trigger a preemption.
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/runtime1.go
return gp.m } //go:nosplit func releasem(mp *m) { gp := getg() mp.locks-- if mp.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack gp.stackguard0 = stackPreempt } } // reflect_typelinks is meant for package reflect, // but widely used packages access it using linkname. // Notable members of the hall of shame include: // - gitee.com/quant1x/gox
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:52:17 UTC 2024 - 19.3K bytes - Viewed (0) -
src/cmd/internal/obj/ppc64/obj9.go
// save entry point, but skipping the two instructions setting R2 in shared mode and maymorestack startPred := p // MOVD g_stackguard(g), R22 p = obj.Appendp(p, c.newprog) p.As = AMOVD p.From.Type = obj.TYPE_MEM p.From.Reg = REGG p.From.Offset = 2 * int64(c.ctxt.Arch.PtrSize) // G.stackguard0 if c.cursym.CFunc() { p.From.Offset = 3 * int64(c.ctxt.Arch.PtrSize) // G.stackguard1 } p.To.Type = obj.TYPE_REG
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 18:17:17 UTC 2024 - 40.8K bytes - Viewed (0) -
src/runtime/export_test.go
// Use an artificially small stack, to trigger a stack overflow // without actually run out of the system stack (which may seg fault). g0.stack.lo = sp - 4096 - stackSystem g0.stackguard0 = g0.stack.lo + stackGuard g0.stackguard1 = g0.stackguard0 stackOverflow(nil) }) } func stackOverflow(x *byte) { var buf [256]byte stackOverflow(&buf[0]) } func MapTombstoneCheck(m map[int]int) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:50:53 UTC 2024 - 46.1K bytes - Viewed (0)