Displaying 2 results from an estimated 2 matches for "__launch_coroutine".
2011 Jul 28
4
[LLVMdev] [RFC] Coroutines
...a coroutine always
involves setting a predefined register (%eax or %rax on x86) to point to
the descriptor and calling into w0. The contents of w1, w2 and w3 are
decided by the state the coroutine is in. As of now, there are two
possibilities:
A. The coroutine has just been created:
w0 is set to __launch_coroutine, which starts the coroutine by mallocing
some initial stack space, calling into
__generic_morestack_set_initial_sp (in libgcc) and then finally calling
into the "main" function for that coroutine. Once the "main" function
returns, a cleanup routine frees the stack.
Before calli...
2011 Aug 04
0
[LLVMdev] [RFC] Coroutines
...ng a predefined register (%eax or %rax on x86) to point to
> the descriptor and calling into w0. The contents of w1, w2 and w3 are
> decided by the state the coroutine is in. As of now, there are two
> possibilities:
>
> A. The coroutine has just been created:
>
> w0 is set to __launch_coroutine, which starts the coroutine by mallocing
> some initial stack space, calling into
> __generic_morestack_set_initial_sp (in libgcc) and then finally calling
> into the "main" function for that coroutine. Once the "main" function
> returns, a cleanup routine frees the...