[LLVMdev] Stack layout in the x86 back-end

Sarah Thompson thompson at email.arc.nasa.gov
Tue Oct 9 10:23:52 PDT 2007


Hi all,

I've been quiet for a while, but work on the new model checker has been 
going pretty well of late. I do have a question for the team, however.

I've implemented code that manages multiple stacks, with an ability to 
version them and roll back and forward between versions so I can 
implement backtracking and nontrivial search strategies -- this all 
works. However, I'm currently dumbly checking the entire stack (not just 
the currently relevant stack frame(s)) for changes, but I'd rather just 
be able to check a minimal area. Whenever I context switch, the code 
under test calls a function in my run-time-system (mcp_yield(), not that 
the details matter much). What I'd like to be able to do is pick up the 
address range of the stack frame of the function that called it -- 
ideally, I'd like a block that encompasses everything from the  function 
parameters up to the current top-of-stack including spilled registers. 
Is this feasible?

Thank you in advance,
Sarah




More information about the llvm-dev mailing list