Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 21 for asyncPreempt2 (0.26 sec)

  1. src/runtime/mkpreempt.go

    	for i := 0; i < 8; i++ {
    		lSSE.add("MOVUPS", fmt.Sprintf("X%d", i), 16)
    	}
    
    	p("ADJSP $%d", lSSE.stack)
    	p("NOP SP")
    	l.save()
    	p("#ifndef %s", softfloat)
    	lSSE.save()
    	p("#endif")
    	p("CALL ·asyncPreempt2(SB)")
    	p("#ifndef %s", softfloat)
    	lSSE.restore()
    	p("#endif")
    	l.restore()
    	p("ADJSP $%d", -lSSE.stack)
    
    	p("POPFL")
    	p("RET")
    }
    
    func genAMD64() {
    	// Assign stack offsets.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Nov 20 17:19:36 UTC 2023
    - 15.3K bytes
    - Viewed (0)
  2. src/runtime/preempt_amd64.s

    	MOVUPS X7, 224(SP)
    	MOVUPS X8, 240(SP)
    	MOVUPS X9, 256(SP)
    	MOVUPS X10, 272(SP)
    	MOVUPS X11, 288(SP)
    	MOVUPS X12, 304(SP)
    	MOVUPS X13, 320(SP)
    	MOVUPS X14, 336(SP)
    	MOVUPS X15, 352(SP)
    	CALL ·asyncPreempt2(SB)
    	MOVUPS 352(SP), X15
    	MOVUPS 336(SP), X14
    	MOVUPS 320(SP), X13
    	MOVUPS 304(SP), X12
    	MOVUPS 288(SP), X11
    	MOVUPS 272(SP), X10
    	MOVUPS 256(SP), X9
    	MOVUPS 240(SP), X8
    	MOVUPS 224(SP), X7
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Aug 18 17:17:01 UTC 2022
    - 1.7K bytes
    - Viewed (0)
  3. src/runtime/preempt_arm.s

    	MOVD F7, 116(R13)
    	MOVD F8, 124(R13)
    	MOVD F9, 132(R13)
    	MOVD F10, 140(R13)
    	MOVD F11, 148(R13)
    	MOVD F12, 156(R13)
    	MOVD F13, 164(R13)
    	MOVD F14, 172(R13)
    	MOVD F15, 180(R13)
    nofp:
    	CALL ·asyncPreempt2(SB)
    	MOVB ·goarmsoftfp(SB), R0
    	CMP $0, R0
    	BNE nofp2
    	MOVD 180(R13), F15
    	MOVD 172(R13), F14
    	MOVD 164(R13), F13
    	MOVD 156(R13), F12
    	MOVD 148(R13), F11
    	MOVD 140(R13), F10
    	MOVD 132(R13), F9
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Nov 20 17:19:36 UTC 2023
    - 1.5K bytes
    - Viewed (0)
  4. src/runtime/preempt_loong64.s

    	MOVD F24, 408(R3)
    	MOVD F25, 416(R3)
    	MOVD F26, 424(R3)
    	MOVD F27, 432(R3)
    	MOVD F28, 440(R3)
    	MOVD F29, 448(R3)
    	MOVD F30, 456(R3)
    	MOVD F31, 464(R3)
    	MOVV FCC0, R4
    	MOVV R4, 472(R3)
    	CALL ·asyncPreempt2(SB)
    	MOVV 472(R3), R4
    	MOVV R4, FCC0
    	MOVD 464(R3), F31
    	MOVD 456(R3), F30
    	MOVD 448(R3), F29
    	MOVD 440(R3), F28
    	MOVD 432(R3), F27
    	MOVD 424(R3), F26
    	MOVD 416(R3), F25
    	MOVD 408(R3), F24
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 22 19:29:43 UTC 2023
    - 2.4K bytes
    - Viewed (0)
  5. src/runtime/preempt.go

    }
    
    //go:generate go run mkpreempt.go
    
    // asyncPreempt saves all user registers and calls asyncPreempt2.
    //
    // When stack scanning encounters an asyncPreempt frame, it scans that
    // frame and its parent frame conservatively.
    //
    // asyncPreempt is implemented in assembly.
    func asyncPreempt()
    
    //go:nosplit
    func asyncPreempt2() {
    	gp := getg()
    	gp.asyncSafePoint = true
    	if gp.preemptStop {
    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/preempt_riscv64.s

    	MOVD F22, 384(X2)
    	MOVD F23, 392(X2)
    	MOVD F24, 400(X2)
    	MOVD F25, 408(X2)
    	MOVD F26, 416(X2)
    	MOVD F27, 424(X2)
    	MOVD F28, 432(X2)
    	MOVD F29, 440(X2)
    	MOVD F30, 448(X2)
    	MOVD F31, 456(X2)
    	CALL ·asyncPreempt2(SB)
    	MOVD 456(X2), F31
    	MOVD 448(X2), F30
    	MOVD 440(X2), F29
    	MOVD 432(X2), F28
    	MOVD 424(X2), F27
    	MOVD 416(X2), F26
    	MOVD 408(X2), F25
    	MOVD 400(X2), F24
    	MOVD 392(X2), F23
    	MOVD 384(X2), F22
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Nov 09 13:57:06 UTC 2023
    - 2.3K bytes
    - Viewed (0)
  7. src/cmd/internal/objabi/funcid.go

    package objabi
    
    import (
    	"internal/abi"
    	"strings"
    )
    
    var funcIDs = map[string]abi.FuncID{
    	"abort":              abi.FuncID_abort,
    	"asmcgocall":         abi.FuncID_asmcgocall,
    	"asyncPreempt":       abi.FuncID_asyncPreempt,
    	"cgocallback":        abi.FuncID_cgocallback,
    	"corostart":          abi.FuncID_corostart,
    	"debugCallV2":        abi.FuncID_debugCallV2,
    	"gcBgMarkWorker":     abi.FuncID_gcBgMarkWorker,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Dec 06 21:33:59 UTC 2023
    - 1.6K bytes
    - Viewed (0)
  8. src/runtime/signal_windows.go

    	// won't get to see who faulted.)
    	// Also don't push a sigpanic frame if the faulting PC
    	// is the entry of asyncPreempt. In this case, we suspended
    	// the thread right between the fault and the exception handler
    	// starting to run, and we have pushed an asyncPreempt call.
    	// The exception is not from asyncPreempt, so not to push a
    	// sigpanic call to make it look like that. Instead, just
    	// overwrite the PC. (See issue #35773)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 17 20:32:29 UTC 2023
    - 14.5K bytes
    - Viewed (0)
  9. src/runtime/os_windows.go

    	gp := gFromSP(mp, c.sp())
    	if gp != nil && wantAsyncPreempt(gp) {
    		if ok, newpc := isAsyncSafePoint(gp, c.ip(), c.sp(), c.lr()); ok {
    			// Inject call to asyncPreempt
    			targetPC := abi.FuncPCABI0(asyncPreempt)
    			switch GOARCH {
    			default:
    				throw("unsupported architecture")
    			case "386", "amd64":
    				// Make it look like the thread called targetPC.
    				sp := c.sp()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 22:55:25 UTC 2024
    - 41.5K bytes
    - Viewed (0)
  10. src/runtime/signal_unix.go

    	// preempt.
    	if wantAsyncPreempt(gp) {
    		if ok, newpc := isAsyncSafePoint(gp, ctxt.sigpc(), ctxt.sigsp(), ctxt.siglr()); ok {
    			// Adjust the PC and inject a call to asyncPreempt.
    			ctxt.pushCall(abi.FuncPCABI0(asyncPreempt), newpc)
    		}
    	}
    
    	// Acknowledge the preemption.
    	gp.m.preemptGen.Add(1)
    	gp.m.signalPending.Store(0)
    
    	if GOOS == "darwin" || GOOS == "ios" {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 10 16:04:54 UTC 2024
    - 45K bytes
    - Viewed (0)
Back to top