yarv2llvmの生成したコードが動くようになりました。 使い方は、 require 'vmtraverse' としておいて、こんな感じでメソッドを定義します。 YARV2LLVM::compile( <<EOS メソッドの定義 EOS ) 定義したメソッドはRubyで定義したメソッドと同じように使えます。 ベンチマークをやってみました。 llvmfibの+ 0はまだ型推論がうまく行かないためfixnumだよということを明示するためです。無くても型推論できるはずですが、難儀しています。 require 'benchmark' def fib(n) if n < 2 then 1 else fib(n - 1) + fib(n - 2) end end YARV2LLVM::compile( <<EOS def llvmfib(n) if n < 2 then 1 else llvmfib