VM
ひどく単純なVM #include <stdio.h> #define STACK_SIZE 30000 enum Instruction { I_PUSH, I_POP, I_DUP, I_ADD, I_SUB, I_JUMP, I_IF, I_NOT, I_EQ, I_RETURN }; typedef enum Instruction Instruction; struct Code { Instruction inst; int value; }; typedef str</stdio.h>…
Structured GOTO Programming World へようこそ! 前回はコンパイラさんのやってくれるswitch展開の妙技をobjdumpで眺めました。最適化オプションをつけていったらまたどんどん色々なことしてくわけですけどそれはYARV Maniacsとは逸れていくので割愛。コン…
http://d.hatena.ne.jp/hogelog/20080704/p1 で書いたVMを高速化。というかコンパイラさんの頑張りを見てみよう。
ruby1.9のソース読もうかなーと思ったのでまずYARV Maniacsなど読んでます。で第二回のvmをc書いてみました。エラー処理とかはまったくしていません。