• R/O
  • SSH
  • HTTPS

naniya: Liste der Commits


RSS
Rev. Zeit Autor
r53 2007-03-29 10:19:11 notanpe

for Cygwin

r52 2007-03-29 10:05:43 chapuni

LR生成の過程で、定数になる項で末尾になるものの生成に失敗するケースがあったので対策。

r51 2007-03-28 22:34:33 chapuni

半角空白が扱えていなかったので修正。
JUNKのエラーメッセージをもうすこし親切にした。

r50 2007-03-28 18:26:01 chapuni

ファイル上のバイナリを実行させるためには、
オープン時 GENERIC_EXECUTE も
マップ時 PAGE_EXECUTE_READWRITE も
必要だということを知った。
他のWindowsで副作用がなければいいが…

r49 2007-03-28 18:23:25 chapuni

デバッグ時には synth_dump() が NULL で呼ばれることがあるのだった。対策っと。

r48 2007-03-28 17:17:05 chapuni

USE_64(ALU)にてコンパイルできなかったため修正。

r47 2007-03-28 17:16:46 chapuni

VC8(x64)にてコンパイルできなかったため修正。

r46 2007-03-28 17:05:12 chapuni

これまで仕込んできたモジュールを晴れて結合できます。ターゲット数制限が変わりました。制限がかかってる場所があるため、無制限ではありません。また、比較器前段を、 cmp.S を用いずに自前で生成するようにしたため、タゲ数が少ないときにやや速度が上がります。
そんなワケで、cmp.S および expr.[ch] は、晴れて用済みになりました。
ついでにもう使うことがないであろう x64-sse.S も、用済み扱いにしました。

Cycle表示は、デバッグ版でないときは殺すようにしました。C2Dなどではどうやら RDTSC 命令がエミュレート実行されているもようです。

r45 2007-03-28 16:57:20 chapuni

曲がりなりにも木から命令を生成できるようにしました。
(synth_assemble云々など)
以前と実装が変わり、ファイルハンドルに向かって命令を吐きまくります。
ALU用に、reg_not() が新設されています(未デバッグ)。

ターゲット数制限はあるような気がしますがそのうち除去します。
食わせるターゲットによっては、処理時間が思いっきりかかったりハングしたり死んだりしますが、折を見て調整するっす。

r44 2007-03-28 16:50:28 chapuni

マクロ DEBUG は、外部で定義する前提にした。

r43 2007-03-28 16:49:43 chapuni

target.txt が存在しないときのエラー処理がまたもや欠落していたので加える。
ついでにデバッグメッセージを絞る。

r42 2007-03-28 13:35:27 chapuni

crypt64 に関する定義(SLICEなども)を、crypt64.hに切り離しました。

r41 2007-03-28 12:20:38 chapuni

DES定数テーブル
tr_pc1, tr_fp, ks_ls
を、ファイル desconst.c に分離しました。

r40 2007-03-27 20:39:24 chapuni

一部のデバッグメッセージがDEBUG==0でも出ていたので殺しました。

synth_expand_terms() において、書き込み先ポインタを移動させるのをやめ、インデクスを移動させるようにしました。すでに生成した項を重複生成させないようにするためです。この探索が速度低下の一因になっていないかどうか再調査が必要な気が。
加法展開する前に、cov を項数の少ない順にソートするようにしました。このことにより再帰の深さをやわらげることができます。

これらの調整の結果、展開項見積が多大になったときでも音を上げるケースが手元では見られなくなりました。でも急いで書いたコードだからか、やっぱりいろいろ不満はあるので、それを調整するのは落ち着いてから、ってことで。


r39 2007-03-27 19:53:45 chapuni

ヲナヌー辞書の痕跡(USE_DT)を条件除外した。
cp932[] を、cp932.[ch] に切り離した。(ちうか名前変えたいよね)
translate.h の文字コードがやや腐ってたので変換。

r38 2007-03-27 17:13:43 chapuni

なぜか Quine-McCluskey simplification まで持ってきてしまった。まるで○○クォリティ。
そこらへんで用いられているタゲにはよく効くが、機械的に生成したタゲだといろいろ恐ろしいことが起きて実用性に欠けそうな感じもするので、要調整。

そして相変わらず、まだコード生成は行わないし、メインと結合されてない。これも○○クォリティ。

r37 2007-03-27 17:07:30 chapuni

先頭制約の扱いが間違ってた感じ。
合成内部では11桁扱いにするつもりだったので…

r36 2007-03-26 16:45:38 chapuni

デバッグメッセージのみ変更。

r35 2007-03-26 16:44:48 chapuni

target.txt をテキトーに解析し、テキトーに木を生成するところまで完了。
あくまでもテキトーっす。

r34 2007-03-26 16:43:41 chapuni

属性つけわすれ。

r33 2007-03-26 16:38:40 chapuni

synth.c[ch] モジュール作成。
現時点ではまだ木を組み上げるだけで、命令生成は行っていません。
合成という名前負けしないようにとの願いを込めてこの名前をつけました。

r32 2007-03-25 15:08:32 chapuni

Anonymous memoryを確保してそこにコードを展開する従来の実装から、ファイルにコードを書き出して最後にマップする実装に変更。
現時点では、スコアボードファイルは単なるコード定数で、しかも終了時に消去されるようになっているが、将来的に変更の予定あり。
そしてこれが最重要なのだが、現時点ではまだ main から呼ばれていない!

r31 2007-03-22 21:39:25 chapuni

パーサを書き直してみる。
この程度にわざわざBisonなんて使うのか? という疑問はさておき。
本体にくっつけてからコミットしようと思ってたけど、いろんな意味で力尽きたため途中経過。

r30 2007-03-19 21:05:53 chapuni

[A-Z]の処理について実験コードを混入させる。バグってたらゴメンね~
難解なので注意して読んでくだせ。

r29 2007-03-19 13:56:09 chapuni

@14における、[64:65]のクリアは、ループ回す必要がないね。という些細な変更。

r28 2007-03-18 18:15:15 chapuni

最近の事情にあわせてドキュメント更新。
たり~たり~

r27 2007-03-18 17:38:54 chapuni

「勝手にベンチマークモード」を実装。
…ハイスミマセン、0 ターゲットで回すだけです!

r26 2007-03-18 16:40:49 chapuni

ソースを分割。
expr.c ... 式から命令列を生成
translate.c ... キーバイナリ列から鳥屋っぽいキー文字列生成を試行。
ターゲット依存は config.h に押し込めてみました。
キースケジューリングも切り離そうと思ったけどそれは次の機会に。

r25 2007-03-17 21:20:48 chapuni

key_inc() にて、 N_STRIDE の変更に弱い部分が1箇所あったので清書。

r24 2007-03-17 21:11:18 chapuni

ログ出力周りを整理。ついでにエラー処理を盛り込む。
実際のエラーにおける挙動に関しては未検証。

Show on old repository browser