Hiroaki Tamura

Results 3 comments of Hiroaki Tamura

optimizerメモです -O1を設定すると ・アトムの再利用: Reuseatom ・膜の再利用: ReuseMem ・ガード命令を可能な限り前へ移動させる: Guardmove -O2にすると O1の3つに加えて (現在のバージョンではどちらも使われていない) ×同一ルールの複数回同時適用: makeloop ×命令列のグループ化: Grouping -O3にすると O1, O2に加えて ・head, guard, bodyを全部くっつける: inlineExpandTailJump がそれぞれ実行 その他クラス内でオプション判別用のboolean型変数を定義していて、それぞれ forceReuseAtom →trueの場合"オプションにかかわらずアトム再利用最適化を有効にする"とあるがforceReuseAtomにtrueを入れるのはFrontEnd.java内1か所しかなく, このとき同時にReuseAtomもtrueになるため不必要な気がする(かつてのデバッグ用?) fMerging →trueの場合"命令列の編み上げを行う"→Merger.java 現在は"--optimize-merging"をつけると動く(はず)...

slim/vm/task.cpp内コメントで`/*do nothing*/`と書いていた命令列 ``` ENQUEUEATOM DEQUEUEATOM UNLOCKMEM RECURSIVELOCK RECURSIVEUNLOCK ```

リファクタリングで削除できそうな命令列 DEREFLINK, GETMEM, GETPARENT, NEWATOMINDIRECT, ALTERFUNC, ALTERFUNCINDIERCT, CHENGEVARS,INLINE, BUILTIN, GUARD_INLINE, NOT_UNIQ, ISUNARYFUNC, ISSTRINGFUNC, GETCLASSFUNC, GETRUNTIME, CONNECTRUNTIME, NEWSET, ADDATOMTOSET, SYSTEMRULESETS, ANYMEM2, ISBUDDY, CYCLELINKS, ISAL, ISAR, ISHR,INEGFUNC, INOTFUNC, IANDFUNC, IORFUNC, IXORFUNC, ISALFUNC,...