| ... | @@ -1135,8 +1135,9 @@ fn mainIdleEntry() callconv(.naked) void { | ... | @@ -1135,8 +1135,9 @@ fn mainIdleEntry() callconv(.naked) void { |
| 1135 | | 1135 | |
| 1136 | fn mainIdle( | 1136 | fn mainIdle( |
| 1137 | ev: *Evented, | 1137 | ev: *Evented, |
| 1138 | message: *const SwitchMessage, | 1138 | contexts: *const Io.fiber.Switch, |
| 1139 | ) callconv(.withStackAlign(.c, @max(@alignOf(Thread), @alignOf(Io.fiber.Context)))) noreturn { | 1139 | ) callconv(.withStackAlign(.c, @max(@alignOf(Thread), @alignOf(Io.fiber.Context)))) noreturn { |
| | 1140 | const message: *const SwitchMessage = @fieldParentPtr("contexts", contexts); |
| 1140 | message.handle(ev); | 1141 | message.handle(ev); |
| 1141 | ev.idle(&ev.threads.allocated[0]); | 1142 | ev.idle(&ev.threads.allocated[0]); |
| 1142 | ev.yield(@ptrCast(&ev.main_fiber_buffer), .nothing); | 1143 | ev.yield(@ptrCast(&ev.main_fiber_buffer), .nothing); |
| ... | @@ -1414,8 +1415,9 @@ const AsyncClosure = struct { | ... | @@ -1414,8 +1415,9 @@ const AsyncClosure = struct { |
| 1414 | | 1415 | |
| 1415 | fn call( | 1416 | fn call( |
| 1416 | closure: *AsyncClosure, | 1417 | closure: *AsyncClosure, |
| 1417 | message: *const SwitchMessage, | 1418 | contexts: *const Io.fiber.Switch, |
| 1418 | ) callconv(.withStackAlign(.c, @alignOf(AsyncClosure))) noreturn { | 1419 | ) callconv(.withStackAlign(.c, @alignOf(AsyncClosure))) noreturn { |
| | 1420 | const message: *const SwitchMessage = @fieldParentPtr("contexts", contexts); |
| 1419 | const ev = closure.evented; | 1421 | const ev = closure.evented; |
| 1420 | const fiber = closure.fiber; | 1422 | const fiber = closure.fiber; |
| 1421 | message.handle(ev); | 1423 | message.handle(ev); |
| ... | @@ -1779,8 +1781,9 @@ const Group = struct { | ... | @@ -1779,8 +1781,9 @@ const Group = struct { |
| 1779 | | 1781 | |
| 1780 | fn call( | 1782 | fn call( |
| 1781 | closure: *Group.AsyncClosure, | 1783 | closure: *Group.AsyncClosure, |
| 1782 | message: *const SwitchMessage, | 1784 | contexts: *const Io.fiber.Switch, |
| 1783 | ) callconv(.withStackAlign(.c, @alignOf(Group.AsyncClosure))) noreturn { | 1785 | ) callconv(.withStackAlign(.c, @alignOf(Group.AsyncClosure))) noreturn { |
| | 1786 | const message: *const SwitchMessage = @fieldParentPtr("contexts", contexts); |
| 1784 | const ev = closure.evented; | 1787 | const ev = closure.evented; |
| 1785 | const fiber = closure.fiber; | 1788 | const fiber = closure.fiber; |
| 1786 | message.handle(ev); | 1789 | message.handle(ev); |