Mercurial > hg > Papers > 2019 > anatofuz-thesis
changeset 58:ca050432ad63
update
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 16 Feb 2019 17:30:24 +0900 |
parents | e16c3d3e30b2 |
children | b1117ccb84a1 |
files | prepaper/finalpre.pdf prepaper/finalpre.tex |
diffstat | 2 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/prepaper/finalpre.tex Sat Feb 16 17:16:19 2019 +0900 +++ b/prepaper/finalpre.tex Sat Feb 16 17:30:24 2019 +0900 @@ -110,8 +110,10 @@ \section{MoarVM} MoarVMはPerl6の専用の処理系であり、 C言語で実装されている。 +MoarVMはPerl6及び、Perl6の実装に用いられている、Perl6のサブセット言語であるNQPが生成したバイトコードを解釈する。 +バイトコードは、 NQPのインタプリタから出力可能である。 + JITコンパイルなどが現在導入されているが、 起動時間などが低速である問題がある。 -MoarVM独自のByteCodeがあり、 Perl6の記述言語であるNQPからこれを出力する機能などが存在している。 MoarVMはレジスタマシンであり、 レジスタ操作や数値の加算を行う命令が存在する。 この命令は、 Perl6プログラムが変換されたバイトコードによって指定される。 @@ -160,8 +162,10 @@ \section{今後の課題} -本研究では、 MoarVM の命令ディスパッチ部分のCodeGearへの変換を行った。 -この際に、 +本研究では、 MoarVM の命令ディスパッチ部分がCodeGearの集合に変換可能である事を示した。 +また、 MoarVMの命令ディスパッチ部分をCodeGearの集合に変換するスクリプトや、 CbCで動作するMoarVMを作成した。 +今後は速度向上を目的とし、 ディスパッチ時に配列集合にアクセスせず、 直接次のCodeGearに遷移する Threaded CodeをCbCを用いての実装を検討する。 +また、 スクリプトが、使用する変数代入や分岐までの単位である、 基本ブロックを判別し、 動的にCbCのコードを生成するsymbolic executionなどの実装を検討する。 \nocite{*} \bibliographystyle{junsrt}