Mercurial > hg > Papers > 2019 > anatofuz-prosym
comparison Paper/anatofuz.tex @ 63:98f4d19f474d
fix typo
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 19 Nov 2018 14:20:32 +0900 |
parents | 31637b77c722 |
children | 39906cf074cf |
comparison
equal
deleted
inserted
replaced
62:31637b77c722 | 63:98f4d19f474d |
---|---|
394 上記Code\ref{cbc_codesegs_c}ではcbc\_const\_i8などがcase文の下のcase部分に該当するcbc\_const\_i64に遷移する様に変換されている. | 394 上記Code\ref{cbc_codesegs_c}ではcbc\_const\_i8などがcase文の下のcase部分に該当するcbc\_const\_i64に遷移する様に変換されている. |
395 またcbc\_pushcompscではMVMROOTに局所変数scを渡している為, これをstaticで宣言し直している. | 395 またcbc\_pushcompscではMVMROOTに局所変数scを渡している為, これをstaticで宣言し直している. |
396 | 396 |
397 現在CbCで記述されたOSであるGearsOSにはInterfaceが導入されている. | 397 現在CbCで記述されたOSであるGearsOSにはInterfaceが導入されている. |
398 これはJavaのinterface, Haskellの型クラスに該当する概念であり, 次のCodeGearにInterface経由で継続する事が可能である. | 398 これはJavaのinterface, Haskellの型クラスに該当する概念であり, 次のCodeGearにInterface経由で継続する事が可能である. |
399 Interfaceは現在のMoarVMには実装されていない為, 今後ThreadeCodeの実装を行うにあたり導入を検討している. | 399 Interfaceは現在のMoarVMには実装されていない為, 今後ThreadedCodeの実装を行うにあたり導入を検討している. |
400 | 400 |
401 \section{MoarVMのデバッグ} | 401 \section{MoarVMのデバッグ} |
402 | 402 |
403 MoarVM自体のデバッグはMoarVMのリポジトリにテストコードが付随していない為単体では実行不可能である. | 403 MoarVM自体のデバッグはMoarVMのリポジトリにテストコードが付随していない為単体では実行不可能である. |
404 本研究ではMoarVMのデバッグにおけるCデバッガの使用方法とMoarVMのテスト方法についても示す. | 404 本研究ではMoarVMのデバッグにおけるCデバッガの使用方法とMoarVMのテスト方法についても示す. |
559 | 559 |
560 | 560 |
561 CbCのCodeGearはgoto文で遷移するため, 次のCodeGearが一意に決定している場合Cコンパイラ側でインライン展開する事が可能である. | 561 CbCのCodeGearはgoto文で遷移するため, 次のCodeGearが一意に決定している場合Cコンパイラ側でインライン展開する事が可能である. |
562 CodeGearがインライン展開される限界については別途研究する必要があるが, CbCを利用した場合CodeGear単位でインライン展開が可能である. | 562 CodeGearがインライン展開される限界については別途研究する必要があるが, CbCを利用した場合CodeGear単位でインライン展開が可能である. |
563 その為, ThrededCodeを実装する場合に決定した次のCodeGearをインライン展開する事が可能である. | 563 その為, ThrededCodeを実装する場合に決定した次のCodeGearをインライン展開する事が可能である. |
564 従ってThreadeCodeを実現するにあたり新たな処理系を開発する必要がなく, 既存の資源を利用してThreadeCodeが実現出来る. | 564 従ってThreadedCodeを実現するにあたり新たな処理系を開発する必要がなく, 既存の資源を利用してThreadedCodeが実現出来る. |
565 これを繰り返す事でperlccなどと比較してより高速化したThrededCodeが実現できる. | 565 これを繰り返す事でperlccなどと比較してより高速化したThrededCodeが実現できる. |
566 | 566 |
567 | 567 |
568 \section{まとめ} | 568 \section{まとめ} |
569 本論文ではCbCによってPerl6の処理系であるMoarVMインタプリタの一部改良とその手法を示した. | 569 本論文ではCbCによってPerl6の処理系であるMoarVMインタプリタの一部改良とその手法を示した. |
570 CbCMoarVMではオリジナルのMoarVMと比較して以下の様な利点が見られた. | 570 CbCMoarVMではオリジナルのMoarVMと比較して以下の様な利点が見られた. |
571 | 571 |
572 \begin{itemize} | 572 \begin{itemize} |
573 \item CodeGear単位で命令処理を記述する事が可能となり, モジュール化が可能となった. | 573 \item CodeGear単位で命令処理を記述する事が可能となり, モジュール化が可能となった. |
574 \item ThreadeCodeを実装する際に効率的に実装ができる見込みが立った. | 574 \item ThreadedCodeを実装する際に効率的に実装ができる見込みが立った. |
575 \item CodeGearを導入した命令単位での最適化が可能となった. | 575 \item CodeGearを導入した命令単位での最適化が可能となった. |
576 \item break pointを命令の処理単位でかける事が可能となった. | 576 \item break pointを命令の処理単位でかける事が可能となった. |
577 \end{itemize} | 577 \end{itemize} |
578 | 578 |
579 今後CbCでの開発をより深く行っていくにあたり, CbCコンパイラそのものの信頼性を向上させる必要がある. | 579 今後CbCでの開発をより深く行っていくにあたり, CbCコンパイラそのものの信頼性を向上させる必要がある. |