Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 133 for curg (0.31 sec)

  1. src/runtime/asm_mipsx.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: Mon May 06 11:46:29 UTC 2024
    - 26.3K bytes
    - Viewed (0)
  2. src/internal/trace/testdata/testprog/cpu-profile.go

    	}
    	// Examine the CPU profiler's view. Filter it to only include samples from
    	// the single test goroutine. Use labels to execute that filter: they should
    	// apply to all work done while that goroutine is getg().m.curg, and they
    	// should apply to no other goroutines.
    	pprofStacks := make(map[string]int)
    	for _, s := range prof.Sample {
    		if s.Label["tracing"] != nil {
    			var fns []string
    			var leaf string
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 3.8K bytes
    - Viewed (0)
  3. src/runtime/asm_loong64.s

    	// switch back to m->curg stack.
    	// NOTE: unwindm knows that the saved g->sched.sp is at 8(R29) aka savedsp-16(SP).
    	MOVV	m_g0(R12), R19
    	MOVV	(g_sched+gobuf_sp)(R19), R13
    	MOVV	R13, savedsp-24(SP) // must match frame size
    	MOVV	R3, (g_sched+gobuf_sp)(R19)
    
    	// Switch to m->curg stack and call runtime.cgocallbackg.
    	// Because we are taking over the execution of m->curg
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 13 15:04:25 UTC 2024
    - 26.5K bytes
    - Viewed (0)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
Back to top