changeset 77:ddf88af2253e

update
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Thu, 29 Nov 2018 17:19:19 +0900
parents 57547b9cbf5f
children 6656f4c3dfa0
files Paper/anatofuz.pdf Paper/anatofuz.tex
diffstat 2 files changed, 3 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
Binary file Paper/anatofuz.pdf has changed
--- a/Paper/anatofuz.tex	Thu Nov 29 17:06:31 2018 +0900
+++ b/Paper/anatofuz.tex	Thu Nov 29 17:19:19 2018 +0900
@@ -330,7 +330,6 @@
 その為まず比較的CbCで書き換えることが容易な箇所を修正する.
 前章までに述べた通りCbCのCodeGearはコンパイラの基本ブロックに該当する.
 従ってMoarVMにおける基本ブロックの箇所をCodeGearに書き換える事が可能である.
-MoarVMにおける基本ブロックはインタプリタが実行するバイトコードごとの処理に該当する.
 
 \subsection{MoarVMのバイトコードのディスパッチ}
 MoarVMのバイトコードインタプリタはsrc/core/interp.cで定義されている.
@@ -347,8 +346,8 @@
 巨大なcase文として実行された場合, 実行時間が遅いだけでなく, ラベル遷移と共存させて記述を行っている為Cのソースコードにおける可読性も低下する.
 
 
+\lstinputlisting[label=orig_macro,  caption=interp.cのマクロ部分]{./src/orig_macro.c}
 \lstinputlisting[label=oplabelsh,  caption=ラベルテーブルの一部分]{./src/oplabels.h}
-\lstinputlisting[label=orig_macro,  caption=interp.cのマクロ部分]{./src/orig_macro.c}
 
 \lstinputlisting[label=dispatch_c,  caption=オリジナル版MoarVMのバイトコードディスパッチ]{./src/dispatch.c}
 
@@ -557,10 +556,10 @@
 % 	 100000000 & 3.258 & 124.69 \\ \hline
 % 	\end{tabular}
 % \end{table}
-本来処理系は広く使われる為に著名なOSSなどを利用して開発するのが良いが, CbCプロジェクトの認知度が低いという現状がある.
+しかし, 言語処理系は広く使われる為に著名なOSSなどを利用して開発するのが望ましいが, CbCプロジェクトの認知度が低いという現状がある.
 
 また, 前章までに複数述べた通りCbCコンパイラが現在非常にバグを発生させやすい状態になっている.
-CbCコンパイラはgccとllvm/clangに実装している為, これらのアップデートに追従する必要がある.
+CbCコンパイラはgccとllvm/clang上に実装している為, これらのアップデートに追従する必要がある.
 しかしコンパイラのバージョンに応じてCbCで利用するコンパイラ内のAPIが異なる場合が多く, APIの変更に伴う修正作業などを行う必要がある.
 
 CbCMoarVMではCからCodeGearへ, CodeGearからCへの遷移などが複数回繰り返されているが, この処理中のCodeGearでのtail callの強制が非常に難関である.