Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 391 for curg (0.04 sec)

  1. src/runtime/coro.go

    	// GoSwitch expects that the current G is running and that we haven't
    	// switched yet for correct status emission.
    	if trace.ok() {
    		trace.GoSwitch(gnext, exit)
    	}
    
    	// Start running next, without heavy scheduling machinery.
    	// Set mp.curg and gnext.m and then update scheduling state
    	// directly if possible.
    	setGNoWB(&mp.curg, gnext)
    	setMNoWB(&gnext.m, mp)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:09:18 UTC 2024
    - 7.4K bytes
    - Viewed (0)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. src/runtime/time_linux_amd64.s

    	MOVQ	CX, 0(SP)
    	MOVQ	DX, 8(SP)
    
    	LEAQ	sec+0(FP), DX
    	MOVQ	-8(DX), CX	// Sets CX to function return address.
    	MOVQ	CX, m_vdsoPC(BX)
    	MOVQ	DX, m_vdsoSP(BX)
    
    	CMPQ	R14, m_curg(BX)	// Only switch if on curg.
    	JNE	noswitch
    
    	MOVQ	m_g0(BX), DX
    	MOVQ	(g_sched+gobuf_sp)(DX), SP	// Set SP to g0 stack
    
    noswitch:
    	SUBQ	$32, SP		// Space for two time results
    	ANDQ	$~15, SP	// Align for C code
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Nov 06 10:24:44 UTC 2021
    - 2K bytes
    - Viewed (0)
  10. 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)
Back to top