disasm を定義
コンパイラ向けのコードたちが正しく最適化&コンパイルされているかを知りたい。この目的のために disasm を作った。
(disasm pass3/compile-arg) => LET_FRAME 12 REFER_LOCAL0_PUSH REFER_FREE0_PUSH DISPLAY 2 FRAME 17 REFER_LOCAL0_PUSH REFER_LOCAL1_PUSH REFER_LOCAL2_PUSH REFER_LOCAL3 PUSH REFER_LOCAL_PUSH 4 REFER_LOCAL_PUSH 5 CONSTANT_PUSH #f REFER_LOCAL_PUSH 7 REFER_GLOBAL_CALL top-level:$:pass3/rec 8 PUSH_ENTER 1 FRAME 6 REFER_FREE1_PUSH CONSTANT_PUSH PUSH REFER_FREE0 CALL2 REFER_LOCAL0_PUSH_CONSTANT 1 NUMBER_ADD LEAVE1 RETURN 8 DEFINE_GLOBAL top-level:$:pass3/compile-arg NOP
整形してソースコードとの対応などを表示した方が本当は良いのだろうけど今回は手間をかけたくないのでこれで。