Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 283 for curg (0.06 sec)

  1. src/runtime/signal_unix.go

    		goroutineheader(gp)
    		tracebacktrap(c.sigpc(), c.sigsp(), c.siglr(), gp)
    		if crashing.Load() > 0 && gp != mp.curg && mp.curg != nil && readgstatus(mp.curg)&^_Gscan == _Grunning {
    			// tracebackothers on original m skipped this one; trace it now.
    			goroutineheader(mp.curg)
    			traceback(^uintptr(0), ^uintptr(0), 0, mp.curg)
    		} else if crashing.Load() == 0 {
    			tracebackothers(gp)
    			print("\n")
    		}
    		dumpregs(c)
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 10 16:04:54 UTC 2024
    - 45K bytes
    - Viewed (0)
  2. src/runtime/asm_ppc64x.s

    	// save that information (m->curg->sched) so we can restore it.
    	// We can restore m->curg->sched.sp easily, because calling
    	// runtime.cgocallbackg leaves SP unchanged upon return.
    	// To save m->curg->sched.pc, we push it onto the curg stack and
    	// open a frame the same size as cgocallback's g0 frame.
    	// Once we switch to the curg stack, the pushed PC will appear
    	// to be the return PC of cgocallback, so that the traceback
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 18:17:17 UTC 2024
    - 45.4K bytes
    - Viewed (0)
  3. src/runtime/traceback.go

    }
    
    func tracebackothers(me *g) {
    	level, _, _ := gotraceback()
    
    	// Show the current goroutine first, if we haven't already.
    	curgp := getg().m.curg
    	if curgp != nil && curgp != me {
    		print("\n")
    		goroutineheader(curgp)
    		traceback(^uintptr(0), ^uintptr(0), 0, curgp)
    	}
    
    	// We can't call locking forEachG here because this may be during fatal
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 55.1K bytes
    - Viewed (0)
  4. src/runtime/preempt.go

    // the signal case.
    //
    //go:systemstack
    func suspendG(gp *g) suspendGState {
    	if mp := getg().m; mp.curg != nil && readgstatus(mp.curg) == _Grunning {
    		// Since we're on the system stack of this M, the user
    		// G is stuck at an unsafe point. If another goroutine
    		// were to try to preempt m.curg, it could deadlock.
    		throw("suspendG from non-preemptible goroutine")
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 15:41:45 UTC 2024
    - 15.1K bytes
    - Viewed (0)
  5. src/runtime/race.go

    func racefree(p unsafe.Pointer, sz uintptr) {
    	racecall(&__tsan_free, uintptr(p), sz, 0, 0)
    }
    
    //go:nosplit
    func racegostart(pc uintptr) uintptr {
    	gp := getg()
    	var spawng *g
    	if gp.m.curg != nil {
    		spawng = gp.m.curg
    	} else {
    		spawng = gp
    	}
    
    	var racectx uintptr
    	racecall(&__tsan_go_start, spawng.racectx, uintptr(unsafe.Pointer(&racectx)), pc, 0)
    	return racectx
    }
    
    //go:nosplit
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:37:29 UTC 2024
    - 20.4K bytes
    - Viewed (0)
  6. src/runtime/tracestatus.go

    		// _Gsyscall is the tracer's signal that the P its bound to is also in a syscall,
    		// so we need to emit a status that matches. See #64318.
    		if w.mp.p.ptr() == pp && w.mp.curg != nil && readgstatus(w.mp.curg)&^_Gscan == _Gsyscall {
    			status = traceProcSyscall
    		}
    	case _Psyscall:
    		status = traceProcSyscall
    	default:
    		throw("attempt to trace invalid or unsupported P status")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 15 17:03:35 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  7. src/runtime/asm_arm64.s

    	// but *not* resuming what had been running, we need to
    	// save that information (m->curg->sched) so we can restore it.
    	// We can restore m->curg->sched.sp easily, because calling
    	// runtime.cgocallbackg leaves SP unchanged upon return.
    	// To save m->curg->sched.pc, we push it onto the curg stack and
    	// open a frame the same size as cgocallback's g0 frame.
    	// Once we switch to the curg stack, the pushed PC will appear
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 20:38:24 UTC 2024
    - 43.4K bytes
    - Viewed (0)
  8. src/runtime/asm_amd64.s

    	// We can restore m->curg->sched.sp easily, because calling
    	// runtime.cgocallbackg leaves SP unchanged upon return.
    	// To save m->curg->sched.pc, we push it onto the curg stack and
    	// open a frame the same size as cgocallback's g0 frame.
    	// Once we switch to the curg stack, the pushed PC will appear
    	// to be the return PC of cgocallback, so that the traceback
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 20:38:24 UTC 2024
    - 60.4K bytes
    - Viewed (0)
  9. 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)
  10. 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)
Back to top