# HG changeset patch # User anatofuz # Date 1550458308 -32400 # Node ID 5ec812f6e3d6b93c1a699c29f6ce4c4e9fb8f611 # Parent 7b1599cf579ae1667f9d903a4774a6ccefc152b3 update diff -r 7b1599cf579a -r 5ec812f6e3d6 paper/chapter5.tex --- a/paper/chapter5.tex Mon Feb 18 11:41:11 2019 +0900 +++ b/paper/chapter5.tex Mon Feb 18 11:51:48 2019 +0900 @@ -5,8 +5,15 @@ \section{命令処理のモジュール化} MoarVMの命令コードディスパッチ部分は、 当初はcase文やラベルgotに変換されるため、 1ファイルの記述せざるを得なかった。 書き換えたCodeGearは、 関数の様にCbCから扱う事が可能である。 +MoarVMの命j令コードディスパッチでは、 命令に対応する数値を利用して、 case文又は配列から実行するラベルなどを取り出していた。 +CbCMoarVMでは、 CodeGearの集合である配列を用意している。 +この配列の登録順のみ対応させれば、 CbCMoarVM内の命令に対応するCodeGearの書く場所は問わなくなる。 そのため、 命令処理部分を別ファイルに書き出すなどのモジュール化が可能となった。 \section{CbCMoarVMのデバッグ} 前章でCbCMoarVMはCodeGearに直接break pointを設定出来る事を示した。 \section{パフォーマンス} + +\section{Threaded Code} + +\section{欠点} diff -r 7b1599cf579a -r 5ec812f6e3d6 paper/main.pdf Binary file paper/main.pdf has changed