ES-VMの基本アーキテクチャ
(1)
- レジスタマシン、レジスタ本数は無制限、ビット幅も無制限。
- 整数レジスタ、ポインタレジスタ、浮動小数点演算レジスタがある。
- どのレジスタの使用頻度が高いのかを示唆する命令はある。ES-VM処理系はその命令に基づき、実マシンの命令に変換するときにどのレジスタを優先的に実レジスタに割り当てるのかを決める。
- もちろんそれを自動判別できればすばらしいのであるが、それをやるとどんどんES-VM処理系がやるべき仕事が増えてしまって、処理系は大きくなるし、コード生成速度も落ちてしまうので、ここは最適化を自動化せずに手動で指定させることにした(もちろん別のツールで解析して、そのツールが示唆命令を出してもいいとは思っている)。
- ES-VM処理系は、結局どのレジスタがどの実レジスタに割り当てられたのか、レジスタが無理だったものについては、どのメモリに割り当てたのか、みたいな情報を報告する。