Displaying 2 results from an estimated 2 matches for "coroutine_new".
2011 Jul 28
4
[LLVMdev] [RFC] Coroutines
...ed with the argument `baton'. For this to
// work correctly, function must be of the type `void () (i8 *)'.
// `stack_size' will be the initial stack size. `descriptor' is a
// block of memory with at least as many bytes as returned by
// llvm.coroutine_descriptor_size().
void llvm.coroutine_new(i8 *descriptor, i8 *function, i8 *baton, i32
stack_size)
// Store the state of the current coroutine in `this' and switch to
// the one described by `new'.
void llvm.coroutine_switch(i8 *this, i8 *new)
It should be possible to have the LLVM register allocator correctly
handle persisting t...
2011 Aug 04
0
[LLVMdev] [RFC] Coroutines
...39;. For this to
> // work correctly, function must be of the type `void () (i8 *)'.
> // `stack_size' will be the initial stack size. `descriptor' is a
> // block of memory with at least as many bytes as returned by
> // llvm.coroutine_descriptor_size().
>
> void llvm.coroutine_new(i8 *descriptor, i8 *function, i8 *baton, i32
> stack_size)
>
> // Store the state of the current coroutine in `this' and switch to
> // the one described by `new'.
> void llvm.coroutine_switch(i8 *this, i8 *new)
>
> It should be possible to have the LLVM register alloca...