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
More information about the llvm-dev