- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 13 for asyncPreempt2 (0.18 sec)
-
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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) -
src/cmd/compile/internal/ssa/_gen/LOONG64Ops.go
"F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "F25", "F26", "F27", "F28", "F29", "F30", "F31", // If you add registers, update asyncPreempt in runtime. // pseudo-registers "SB", } func init() { // Make map from reg names to reg integers. if len(regNamesLOONG64) > 64 { panic("too many registers") }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Nov 21 19:04:19 UTC 2023 - 25.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/_gen/PPC64Ops.go
"F23", "F24", "F25", "F26", "F27", "F28", "F29", "F30", // "F31", the allocator is limited to 64 entries. We sacrifice this FPR to support XER. "XER", // If you add registers, update asyncPreempt in runtime. // "CR0", // "CR1", // "CR2", // "CR3", // "CR4", // "CR5", // "CR6", // "CR7", // "CR", // "LR", // "CTR", } func init() {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 19:59:38 UTC 2024 - 43.8K bytes - Viewed (0)