Displaying 7 results from an estimated 7 matches for "destroy_block".
2011 Apr 03
1
[LLVMdev] GSoC '11: Segmented Stacks
...(may not always be needed, since
we're keeping never de-allocating old blocks).
2. Copies everything addressed SP relative to the new block. Adjusts
the stack pointer.
3. Saves the real return address in the block header. Modifies the
return address on the stack to point to a cleanup routine, destroy_block.
4. "Returns" to the original function prologue. Since we can't really
use the stack to communicate the return address, one of the
callee-clobbered registers will be used.
The destroy_block stub restores the stack pointer and the instruction
pointer from the current block header. Si...
2011 Apr 11
2
[LLVMdev] RFC: GSoC Project
...L. If it is NULL, it will
allocate a new block and save it to saved_stack. It if isn't, it'll
simply restore saved_sp, saved_ip.
2. In case a new block was allocated, it will pretty much do what
setup_block does, after which it will adjust the SP to make space for
the saved registers.
The destroy_block procedure will also have to be a little different
(mentioned below).
There are four things (relevant to this discussion) a co-routine can do:
Yield
This returns control to the calling function, without forgetting the
current state of the function. To do this, we save saved_ip and
saved_sp. Every...
2011 Apr 11
0
[LLVMdev] RFC: GSoC Project
...e a new block and save it to saved_stack. It if isn't, it'll
> simply restore saved_sp, saved_ip.
>
> 2. In case a new block was allocated, it will pretty much do what
> setup_block does, after which it will adjust the SP to make space for
> the saved registers.
>
> The destroy_block procedure will also have to be a little different
> (mentioned below).
>
> There are four things (relevant to this discussion) a co-routine can do:
>
> Yield
>
> This returns control to the calling function, without forgetting the
> current state of the function. To do this,...
2011 Apr 11
2
[LLVMdev] RFC: GSoC Project
...saved_stack. It if isn't, it'll
>> simply restore saved_sp, saved_ip.
>>
>> 2. In case a new block was allocated, it will pretty much do what
>> setup_block does, after which it will adjust the SP to make space for
>> the saved registers.
>>
>> The destroy_block procedure will also have to be a little different
>> (mentioned below).
>>
>> There are four things (relevant to this discussion) a co-routine can do:
>>
>> Yield
>>
>> This returns control to the calling function, without forgetting the
>> current st...
2011 Apr 11
0
[LLVMdev] RFC: GSoC Project
...t, it'll
>>> simply restore saved_sp, saved_ip.
>>>
>>> 2. In case a new block was allocated, it will pretty much do what
>>> setup_block does, after which it will adjust the SP to make space for
>>> the saved registers.
>>>
>>> The destroy_block procedure will also have to be a little different
>>> (mentioned below).
>>>
>>> There are four things (relevant to this discussion) a co-routine can do:
>>>
>>> Yield
>>>
>>> This returns control to the calling function, without forget...
2011 Apr 11
0
[LLVMdev] RFC: GSoC Project
On Sun, Apr 10, 2011 at 4:16 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On Apr 10, 2011, at 2:45 PM, Talin wrote:
>
> I wonder - would something like this allow for multiple stacks for a single
> thread? I'm thinking of something like continuations / fibers / green
> threads, which would be very handy.
>
>
> I haven't looked at the proposal, but
2011 Apr 10
2
[LLVMdev] RFC: GSoC Project
On Apr 10, 2011, at 2:45 PM, Talin wrote:
> I wonder - would something like this allow for multiple stacks for a single thread? I'm thinking of something like continuations / fibers / green threads, which would be very handy.
I haven't looked at the proposal, but yes, this would be very useful functionality for LLVM to provide.
-Chris
>
> On Wed, Mar 23, 2011 at 3:07 AM,