Essen開発メモ(1)
2018.03.05(月) #00 JITBで遊ぶ
- JITBというのは、即興で考えた造語。JITコンパイラはJITC。じゃあもしJITで動くアセンブラがあったらJITA。そして16進数を直接入力してそれがいきなり動くプログラミング言語があったらJITBかなー、というそれだけのこと。
- そのJITBを作って、コンソールから入力した16進数がすぐに実行されるのを眺めて、最初は面白かったんだけど、すぐに飽きた(笑)。まあ実行ファイルをいちいち作らなくてもいいっていうのは、新鮮と言えば新鮮。
- やっぱりJITAくらいじゃないと、結構大変である。16進数を全部覚えているわけじゃないので・・・。
2018.03.06(火) #00 次はどうしようか
- とりあえずpage0002でJITBについては遊びつくしたので、次はJITAかなあ。そうやって少しずつ言語を低級から高級にしていけば、いつかはEssenができそうな気がする。
2018.03.08(木) #00 JITA
- ひとまずJITAを作り始めた。オペコードのみの命令ならアセンブルして実行できる。16進数を直接入力しなくていいのは快適だ。あとRDTSCが例外を出さずに実行できたので、win32ではCR4によって禁じられていないのだなと分かった。
- 今は238行で5.0KB。
2018.03.19(月) #00
- もはやのんびりと作って壊してまた作って・・・をやっている暇はない。確実に積み上げられるやり方で作っていかなければいけない。となると、やはりアセンブラレイヤを作り、必要に応じて最適化ができるようにしておいて、その上に高級言語レイヤを載せなければならない。
2018.04.01(日) #00
- さて、年度も変わったことだし、明日からちょっとずつ再開しよう。
2018.04.11(水) #00
- EssenRev4のJITコンパイルでは、浮動小数点演算でFP命令を使わずに、SSEスカラ命令を使おうと思っている。FP命令のほうが対応CPUが多いけれど、SSEのほうがレジスタ番号で管理できてわかりやすそうだから。
- ということで、参考になりそうなサイトを探しておいたので、忘れないうちにメモしておく。
こめんと欄