[LLVMdev] Accounting for stack space

Sandro Magi naasking at gmail.com
Mon Jun 18 14:22:17 PDT 2007


Given my recent posts, I think it's obvious that I'm trying to figure
out how to build a resource-aware VM for a high-level language.

I've figured out adequate solutions for most of the problems I've
encountered, including separate heaps, quotas, etc. However, I'm not
sure how I can account for a thread's stack space. Given a language
process (LP) running in a heap with a quota, a thread in that LP can
exceed the LP's quota simply by recursing infinitely since stack space
allocation is outside of my VM's control.

So how can I account for the stack space consumed by the thread
running in that LP, or control the allocation of stack space? One
solution is to CPS-transform the program, so that all activation
frames are explicitly allocated from the LP's heap. Is there another
way?

Sandro



More information about the llvm-dev mailing list