VM

ダイレクトスレッデッドコード復習。

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>…

Rubyist Magazine - YARV Maniacs 【第 3 回】 命令ディスパッチの高速化を読む (2)

Structured GOTO Programming World へようこそ! 前回はコンパイラさんのやってくれるswitch展開の妙技をobjdumpで眺めました。最適化オプションをつけていったらまたどんどん色々なことしてくわけですけどそれはYARV Maniacsとは逸れていくので割愛。コン…

Rubyist Magazine - YARV Maniacs 【第 3 回】 命令ディスパッチの高速化を読む (1)

http://d.hatena.ne.jp/hogelog/20080704/p1 で書いたVMを高速化。というかコンパイラさんの頑張りを見てみよう。

Rubyist Magazine - YARV Maniacs 【第 2 回】 VM ってなんだろうのVMをCで

VM

ruby1.9のソース読もうかなーと思ったのでまずYARV Maniacsなど読んでます。で第二回のvmをc書いてみました。エラー処理とかはまったくしていません。

test