• R/O
  • SSH
  • HTTPS

naniya: Liste der Commits


RSS
Rev. Zeit Autor
r83 2007-04-03 13:15:10 chapuni

ワークエリアを、Johnオリジナルで定義されていた場所ではなく、mty.c にて用意した場所を用いるようにした。その結果、なんとなく含めていたムダなコードを排除せり。
ていうかなぜかRev.79にて速度低下の副作用があった。キャッシュ干渉の可能性があるようなので、Rev.79は再度調査する必要があるだろう。
ついでに、x64 ABIにおいて、 r8-r11 が破壊される前提に書き換えた。

r82 2007-04-03 11:54:53 chapuni

AMD64 にて、reg_not() のエンコーディングがくさってたので修正。

r81 2007-04-02 21:44:59 notanpe

MMX と SSE2 の切り替えを DEFS に。

r80 2007-04-02 19:35:06 chapuni

VC8(x64)にて調整。なぜかUSE_64が動かないのでまたあした!

r79 2007-04-02 17:24:52 chapuni

随所に散らばっていた定数類を排除してダイナミック化。制限と思われる数値を取っ払った。これでタゲ数無制限だ!!!
ただしLR(QM簡単化)のところでまだ恥ずかしい制限が残っているので、それにぶち当たったらスマン。ちうかそろそろ高速化したいよ。

r78 2007-04-02 16:40:31 chapuni

JUNK文字に寛容なパーサにした…が、JUNKのくっついたすべての単語が無視されるようにしてしまった。いいのか?

r77 2007-04-02 14:32:38 chapuni

開発者にしか関係ないけど、デバッグメッセージを役に立つ方向に変更。

r76 2007-04-02 14:22:57 chapuni

さしあたっての対策として、辞書につっこむ単語は、単独で現れる(他の文字とANDがない)ものだけに制限した。
[./] が多用されてると悲惨な目にあうので、根本対策はそのうちやるです。

r75 2007-04-01 21:35:06 notanpe

モンジューが増えたのに対応。
いや、違った。
モジュールが増えたのに対応。

r74 2007-04-01 17:38:32 chapuni

大量検索もどきを実装。
すでにわかっている不具合がたくさんあるので、超地雷です。
あちこちに残っている制限はあとで外します。
数十万行を喰わせると死ぬほど遅いのはどうにかします。

r73 2007-04-01 17:34:05 chapuni

木の扱いをちょっと変更。

r72 2007-04-01 17:27:52 chapuni

ノードを削除する synth_unlink() を追加。
木のプチ最適化を行う synth_optimize() を実装。
ダンプをもうすこし俺にわかりやすくした。

r71 2007-04-01 17:20:23 chapuni

たぶんGCCでも、FASTCALL呼び出しをやっていいのだ(たぶん)。

r70 2007-04-01 17:15:39 chapuni

6ビットキャラクタ表 C64 を追加。

r69 2007-04-01 17:11:08 chapuni

そろそろ使うことになりそうなのでヘッダ新設。

r68 2007-04-01 02:59:58 chapuni

おせっかいな進捗メッセージを追加。つまり処理に時間を要するパスがあるってこと。
辞書単語数をマクロにしておいた(あまり意味ねー)。
デバッグダンプをもうすこし親切にしといた。

r67 2007-03-31 22:36:00 chapuni

yydebug 定義の条件を変更。

r66 2007-03-31 18:55:04 notanpe

デバッグ定義を調整

r65 2007-03-31 15:38:01 chapuni

展開がバグってて、ついでに行ってるはずの最適化が十分に行われていなかったので修正。
たいていの式をスムーズに展開できるようになった。

r64 2007-03-31 13:53:58 chapuni

加法展開 synth_expand_terms() を、再帰を使わないモノに差し替えた。不要なパラメータ整理はまたそのうちやる。
主項のqsortはもはや不要と判断し、外す。
辞書分類のとき、大小混在のものがうまく分類できていなかった。
10完を喰わせると死んでた。

こんな感じの改良を施したら、けっこうでかいタゲを喰いきれるようになった予感。あとはてきとうなパターン比較とてきとうな最適化を入れれば実用な予感。

そして花見に逝ってくらあっと。

r63 2007-03-30 23:59:19 chapuni

野望への一歩、辞書と被覆をねじこんた。
まだまだ手抜きなので、これで動くと思うなよ。

r62 2007-03-30 21:47:50 chapuni

辞書を選り分ける直前まで調整。
外部的動作は変わらないハズ。

デバッグの課程で、エラーの出方がやさしくなったような感じ。たぶん。

r61 2007-03-30 21:11:18 notanpe

依存の書き忘れ

r60 2007-03-30 16:20:10 chapuni

最終転置+行列転置。
void transpose64(uint64_t const *c, uint64_t *d);
どう使うかはお楽しみ☆

r59 2007-03-30 13:54:42 chapuni

レジスタ割り当ての、簡単な最適化を施しておきました。
ワークエリア(PARAM::hit[])の制限は緩まってんじゃないかな。
ちゃんと最適化するのはあとの楽しみに取っておきます。

r58 2007-03-30 00:43:30 chapuni

最終タゲの直前にEOFが入るパターンで死んでたので修正。

r57 2007-03-30 00:03:38 chapuni

エラー処理をもうすこし親切にしたよ~

r56 2007-03-29 16:39:02 chapuni

ゴメン! REGPARMの順番は(A,D,C)だった。修正。
ちょっと調べてみたら、GCC-3.4.4(Cygwin)では、__fastcall が通るみたい。
これが可搬性あるかどうか調べて、再び差し替えるかも。

r55 2007-03-29 15:51:27 chapuni

GCCにおいて、crypt64()呼出を asm にて行っていたが、regparm(3)を利用して呼び出すように変更。ABIがびみょーに違うのは、てきとうな科学力でねじ伏せてある。
ついでに、渡すポインタの型をもうちょっとマシなもので宣言しなおした。

r54 2007-03-29 15:49:27 chapuni

よくわからない型である HANDLE を long にキャストしていたが、intptr_t でキャストするようにした。ささいな変更に見えてじつは大事な変更だったりする。

Show on old repository browser