… | |
… | |
285 | ctx->env[JB_PC] = (__uint64_t)coro_init; |
285 | ctx->env[JB_PC] = (__uint64_t)coro_init; |
286 | ctx->env[JB_SP] = (__uint64_t)STACK_ADJUST_PTR (sptr, ssize) - sizeof (long); |
286 | ctx->env[JB_SP] = (__uint64_t)STACK_ADJUST_PTR (sptr, ssize) - sizeof (long); |
287 | |
287 | |
288 | # elif CORO_ASM |
288 | # elif CORO_ASM |
289 | |
289 | |
290 | ctx->sp = (volatile void **)(ssize + (char *)sptr); |
290 | ctx->sp = (void **)(ssize + (char *)sptr); |
291 | *--ctx->sp = (void *)abort; /* needed for alignment only */ |
291 | *--ctx->sp = (void *)abort; /* needed for alignment only */ |
292 | *--ctx->sp = (void *)coro_init; |
292 | *--ctx->sp = (void *)coro_init; |
293 | ctx->sp -= NUM_SAVED; |
293 | ctx->sp -= NUM_SAVED; |
294 | |
294 | |
295 | # elif CORO_UCONTEXT |
295 | # elif CORO_UCONTEXT |