カーネル/VM Advent Calendarの25日目の記事です.VMはVirtual Machineの略らしく(オ,皆カーネルサイドばかりなのでVMサイドの記事を書きます. 最近ホットなVMといえば,どんどんその勢力が拡大しているLLVMです.世界的に有名なD言語にもLLVMをバックエンドに用いたLDCと呼ばれる処理系が存在しています.このブリッジ部分を突き詰めてもいいのですが,ちょっと今回は楽をしたいので,Node.JSによってサーバサイドでも存在感を出してきたJavaScriptネタで行きます. Emscripten EmscriptenはCやC++で書かれたコードをLLVMを経由することで,JavaScriptコードに変換するというプロジェクトです.サイトのサンプルにもありますが,既にPythonやLuaがデモとして存在しています. 仕組み LLVMによって生成することが出来るl