[LLVMdev] [PATCH] Segmented Stacks

Talin viridia at gmail.com
Thu Jul 14 16:20:42 PDT 2011


On Thu, Jul 14, 2011 at 9:07 AM, Sanjoy Das
<sanjoy at playingwithpointers.com>wrote:

> Hi llvm-dev!
>
> I have attached the current state of my GSoC work in patches [1] for
> review; this currently allows LLVM to correctly handle functions running
> out of stack space and variable sized stack objects.
>
> Firstly, since I think it is better to get things merged in small
> chunks, I'd like to have some specific feedback on where my work stands
> in terms of mergeability.
>
> Secondly, I had been working on supporting variable arguments before I
> started to clean up my work and roll a patch series. The varargs work is
> not completed yet; and I recall having a discussion on this list some
> time back [2] about adding support for co-routines. Does postponing the
> vararg work and seeing if co-routines can be implemented sound more
> useful (since we should be able to cheaply create and destroy stacks
> now). I understand that segmented stacks will primarily be used by
> managed languages; does support for varargs seem important enough in
> such cases?
>
> I think I was the one who was interested in support for coroutines. My
language doesn't currently use variable arguments, but there might be others
who would find it useful.


> Thanks!
>
> [1] I'm working on implementing segmented stacks as a part of GSoC '11.
>
> [2] The previous discussion has concluded with a suggestion of adding
> three intrinsics to LLVM: llvm.stacknew, llvm.stackswitch and
> llvm.stackdestroy; which should be enough to allow the frontend
> developer to implement his or her own co-routining semantics.
>
> --
> Sanjoy Das
> http://playingwithpointers.com
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>


-- 
-- Talin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110714/071f159f/attachment.html>


More information about the llvm-dev mailing list