changeset 47:3f52d5153c09

update
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Fri, 15 Feb 2019 17:24:45 +0900
parents 1d637bad458d
children e08406aa6917
files paper/chapter4.tex paper/main.pdf
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter4.tex	Fri Feb 15 16:03:08 2019 +0900
+++ b/paper/chapter4.tex	Fri Feb 15 17:24:45 2019 +0900
@@ -148,3 +148,11 @@
 
 
 \lstinputlisting[frame=lrbt, label=cbc_next, caption=cbc\_next及びCbCMoarVMでのマクロ例]{./codes/src/cbc-interp-next.cbc}
+
+CodeGear間の軽量継続を中心に設計している為、 switch case文を利用するマクロは削除した。
+また、 各マクロの引数に、 変数iを導入している。 
+ 変数i は、 バイトコードインタプリタ内で利用する、 MoarVMのレジスタ情報などが格納された、 構造体へのポインタである。
+iが示す構造体INTER、 呼び i の型である構造体INTERPは、 ソースコード\ref{cbc_inter}の示すように宣言している。
+これは、マクロ内部で現在の命令を示すopや、 命令列 cur\_op にアクセスする必要があるが、 従来のマクロの記述ではCbCを利用した場合に、変数にアクセス出来なくなる為に導入している。
+
+\lstinputlisting[frame=lrbt, label=cbc_inter, caption=MoarVMの情報を格納した構造体INTER]{./codes/src/INTERP.h}
Binary file paper/main.pdf has changed