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言語レベルの処理に戻る際は環境付き継続を行う必要があるケースが有り、 この実装を行うためにコードの量や複雑さが高まってしまうとも考えられる。
Binary file paper/main.pdf has changed