msumimz's diary

RubyにJITコンパイラを実装する個人プロジェクトの情報発信ブログです。

precompileのエラーチェックをちゃんとしました

こんなコードを実行すると

def m)
  [1,2,3]
end

precompile(Object, :m)

こんなエラーになります(配列リテラルをサポートしていない)。

$vc10/Debug/miniruby test.rb
test.rb:5:in `precompile': m:2: Node type NODE_ARRAY is not implemented yet (ArgumentError)
        from test.rb:5:in `<main>'

今まではクラッシュしていました。今までがひどすぎたという話ですが…。

これで、利用者がいろいろなコードに対して試しやすくなるのではないかと思います。