From 5368effd5f3819a66c1aff4c960ec6a33ed204c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Wed, 26 Jun 2024 18:18:20 +0900 Subject: [PATCH] [obsidian] vault backup: 2024-06-26 18:18:20[ --- content/mimiumの中間表現を考える.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/mimiumの中間表現を考える.md b/content/mimiumの中間表現を考える.md index e2347960..10b6e51f 100644 --- a/content/mimiumの中間表現を考える.md +++ b/content/mimiumの中間表現を考える.md @@ -113,6 +113,12 @@ delayはどうしておくかというと、最初の8バイトは現在のリ 中間表現では関数呼び出し、即値の読み込みはラベル使ってやるので十分かあ そうなるとローカルの名前リネームは必要 -state_sizeの保存には結局コールツリーを辿る必要が出てくる? +VM自体のstate_sizeの保存には結局コールツリーを辿る必要が出てくる? pushfeedoffsetでバイトオフセットの値をトレースするためには結局applyの式を辿る必要はある +コールツリーのトラバースをし始めるとワンパスコンパイラとしての旨みがなくなる + +feedはlambdaに閉じ込められてletrecにbindされてるのがちょっと面倒 + +まあでも結局ユーザー層に隠蔽するにはここで静的解析するしかないのか +あれ、でもこの静的解析って結局多段階でいうところのstage 0 の評価に相当するやつなのでは