Mercurial > hg > Papers > 2019 > anatofuz-thesis
changeset 72:b1444ad4140e
update
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 18 Feb 2019 16:47:29 +0900 |
parents | 8badccde37ac |
children | 47bfecf6ae6b |
files | paper/chapter5.tex paper/main.pdf |
diffstat | 2 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter5.tex Mon Feb 18 16:39:37 2019 +0900 +++ b/paper/chapter5.tex Mon Feb 18 16:47:29 2019 +0900 @@ -60,3 +60,8 @@ \lstinputlisting[frame=lrbt, label=cbc_sync, caption=CbCMoarVMのデータ同期]{./codes/sync.c} +また、 CbCコンパイラが一般的に使われておらず、 CbCコンパイラのバグ修正や、 gcc、 llvm/clang のバージョン追従を行っていく必要がある。 +CbCコンパイラは、 末尾再帰(tail call)の強制を行っているが、 MoarVMなどの巨大なプロジェクト上では、 コンパイル時に強制させる際の処理の実装が困難でもある。 +これに伴って、 CodeGearでの不要なスタック操作命令を完全に排除できていない為、 CbCの利点が損なわれている箇所が存在する。 + +CbCからC言語レベルの処理に戻る際は環境付き継続を行う必要があるケースが有り、 この実装を行うためにコードの量や複雑さが高まってしまうとも考えられる。