On Thu, Jul 14, 2011 at 9:07 AM, Sanjoy Das <span dir="ltr"><<a href="mailto:sanjoy@playingwithpointers.com">sanjoy@playingwithpointers.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi llvm-dev!<br>
<br>
I have attached the current state of my GSoC work in patches [1] for<br>
review; this currently allows LLVM to correctly handle functions running<br>
out of stack space and variable sized stack objects.<br>
<br>
Firstly, since I think it is better to get things merged in small<br>
chunks, I'd like to have some specific feedback on where my work stands<br>
in terms of mergeability.<br>
<br>
Secondly, I had been working on supporting variable arguments before I<br>
started to clean up my work and roll a patch series. The varargs work is<br>
not completed yet; and I recall having a discussion on this list some<br>
time back [2] about adding support for co-routines. Does postponing the<br>
vararg work and seeing if co-routines can be implemented sound more<br>
useful (since we should be able to cheaply create and destroy stacks<br>
now). I understand that segmented stacks will primarily be used by<br>
managed languages; does support for varargs seem important enough in<br>
such cases?<br>
<br></blockquote><div>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.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Thanks!<br>
<br>
[1] I'm working on implementing segmented stacks as a part of GSoC '11.<br>
<br>
[2] The previous discussion has concluded with a suggestion of adding<br>
three intrinsics to LLVM: llvm.stacknew, llvm.stackswitch and<br>
llvm.stackdestroy; which should be enough to allow the frontend<br>
developer to implement his or her own co-routining semantics.<br>
<font color="#888888"><br>
--<br>
Sanjoy Das<br>
<a href="http://playingwithpointers.com" target="_blank">http://playingwithpointers.com</a><br>
</font><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>-- Talin<br>