[llvm-dev] Sulong

Sanjoy Das via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 1 08:21:23 PST 2016


Manuel Rigger via llvm-dev wrote:
 > Hi everyone,
 >
 > we started a new open source project Sulong: https://github.com/graalvm/sulong.
 >
 > Sulong is a LLVM IR interpreter with JIT compilation running on top of the JVM.
 > By using the Truffle framework, it implements speculative optimizations such as inlining of function pointer calls
 > through AST rewriting.

I'm interested in hearing more about how you do this.  Do you use
guarded devirtualization (i.e. `if *fn_ptr_loc != @foo then
side_exit(); else @foo()`), or is there something else?  I'd guess
implementing "invalidation" based deoptimization (i.e. the value of
`fn_ptr_loc` changed, so deoptimize compiles that depend on it not
changing) will require instrumenting all (?) writes that could alias
`*fp_ptr_loc`?

-- Sanjoy


More information about the llvm-dev mailing list