技術

8.3.2. ガベージコレクションされたスタックフレーム

初出時には第8章でしたが現在(2017/09/16時点)では原文のほうで新たに8章と9章が追加され、本章は10章となっているようです。
内容は初出時のまま残しておきますが原文へのリンクだけ10章のものを指すよう更新しました。

LLVMによるプログラミング言語の実装チュートリアル日本語訳
第8章 万華鏡: まとめとLLVMのその他の便利な点
第3.2節 ガベージコレクションされたスタックフレーム

いくつかの言語は、クロージャの簡単な実装を簡単にするため、またはガベージコレクションのため、スタックフレームを明示的に管理する事を望んでいる。
このような機能を実装する方法として、明確なスタックフレームを使うよりももっといい方法がしばしば存在するが、もし明示的なスタックフレームを使いたければLLVMはそれをサポートしている。(http://nondot.org/sabre/LLVMNotes/ExplicitlyManagedStackFrames.txt
それを使うには、フロントエンドを継続渡し形式(Continuation Passing Style)のコードを出力するよう変更し、末尾呼び出し(tail calls)を使用しなければならない。(これもLLVMはサポートしている。)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください