謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

JIT

JITについてよりも、関数の連結に焦点。
D言語ではasm{naked;}でretを生成しないことができる…と。
関数の長さの取得ができない(sizeofは常に1を返す)のは生成してからでないと分からないためだからかな。前方参照時に生成すればできるはずなんだけどな。リンク時の最適化やらなにやらで技術的にできないのかな?
実行時に関数の連結が色々面倒と。一番最初に置き換える所をリストアップしとけばいいか。置き換えよりむしろubyte~arg~ubyteと連結するコードの生成(≒jit)がしたいなぁ。いや、置き換えのコード生成の方がいいよなぁ。
heapでも実行できてるけど実行権限どうなってるんだっけか。

頭がこんがらがってる…orz。面倒だから明日まわし。