[llvm-commits] REQUIRES_FP in Makefile.rules

Nicolas Geoffray nicolas.geoffray at lip6.fr
Wed Aug 19 15:00:09 PDT 2009


Eric Christopher wrote:
>
> Yes, but I wouldn't imagine anything could be executing in a way that 
> would require you walking up llvm code. Can you give me a quick example?
>

Sure! When vmkit wants to do a garbage collection, all threads must 
execute a "safe GC point", where the thread joins the collection 
cooperatively. If the thread is currently materializing a function 
(hence executing vmkit code), and a GC is required, all objects on the 
stack must be scanned. To walk the stack, I must know each function on 
the call stack. You can image a stack like this:


vmkit method (start_thread)
Java method
Java method
Java method
LLVM callback for lazy compilation
LLVM JIT emitter
ModuleProvider::materializeFunction
vmkit method
vmkit method (<--- safe point entered here)


I hope the example is clear.

Nicolas



More information about the llvm-commits mailing list