ガベージコレクション(GC)とHSPについて、
私の考えるGCをランタイムに実装してみました。
https://www.dropbox.com/s/smwuf9p27pr28nd/hsp3gc20161207.zip?dl=0
モジュール型変数の、追加・代入・削除のときに
参照カウンタを加減し、参照カウンタが0のとき
モジュール型変数の解放を行います。
GCに任せるモジュール型変数は、
gcnewmod命令によって追加されます。
引数はnewmodと同じです。
モジュール変数の定義にも違いはありません。
GCに任されたモジュール型変数が代入されると
その変数もGCに任されます。
GCに任されたモジュール型変数を
varuseすると3が返ります。
newmodしたものは従来通りに動作します。
FlexValueを書き換えるものは、
問題が起こる可能性があります。
他の言語のGCは意識して使ったことがないので
合っているのかわかりません。
みなさんにとってGCとはどのようなものですか?
またHSPに実装される場合、どのようなものが
よいと思いますか?
問題点や希望、思い出等を集める雑談スレッドとします。
ある程度まとまればhsp-devMLで提案しようと思います。