Entries from 2007-10-01 to 1 month

QEMUのDR6のステップ実行パッチ

[qemu-discuss] [PATCH] target-i386: DR6 single step exception status bitkqemu を使えばデバッグレジスタはそのまま使えそうな雰囲気だよな。 逆に kqemu を有効にしないと使えない? 別件 再聊 CPUState、qemu 的 gdbserver何やら面白そうな事が書いて…

水泳

雨の日に水泳にいくのはほんの少しつらい。 いつもより水量の多い目黒川を見れたので良いか。 Everybody's flying and no one leaves the ground

QEMU でデバッグ例外が来ない

例の音楽プレイヤのデバッグのためにハードウェアブレークポイントのサポートを実装中。 DR0/DR7 レジスタを正しくセットしているのにデバッグ例外が発生しない。 もしやと思って Vmware でやってみたら例外来た。えー。ひょっとしてQEMUはデバッグ系のCPU機…

QEMUでレジスタを見たい

いつも操作方法を忘れるのでメモ。 Ctrl-Alt 2 で QEMU モニタに切替えて info registers

変数lookupの高速化 - Scheme VM のお勉強

いま勉強しているヒープベースの VM は、他の命令に比べて refer が重い。 実行時の変数 lookup が inner most の rib から外側に変数を線形に探索していくのが実行時間の大半を占めるからである。 僕の処理系でもこの問題を抱えている。 スタックベースの V…

会話

隣の席に座ったサラリーマン2人の会話の要旨 みな同じ苦労をしないとダメ 要領良くやるのが気に入らない だそうです。

疲れがたまったので

今日はプールはなし。

100年の難問はなぜ解けたのか

NHKスペシャル|100年の難問はなぜ解けたのか 〜天才数学者 失踪の謎〜録画しておいたのを見た。面白い。 自分は数学の才能はないのを高校くらいに見限っていますが。

某氏と会食

勉強会に出ようかな ライフスタイルについて 某業界の某について→びっくり 勉強に対する姿勢とか 若い人はびっくりするほど優秀だよね

Monaでfflush

MonaOS で fflush - きまぎらすほしゅの不定記id:h0shuさんが fflush 周りを見てくれている模様。>id:shotaro_tsujiさんそういえば fread がバッファリングされているとうれしいな。 Scheme インタプリタのloadが速くなりそう。

インテルのマニュアル

日本語技術資料のダウンロード僕が昔から愛用しているマニュアルと体裁が変わったな。

末尾呼出し最適化 - Scheme VM のお勉強

末尾呼出し最適化はコンパイル時に行われている。 末尾か?どうかの判定に tail? を定義。 (define (tail? next) (and (pair? next) (eq? (car next) 'return))) next expression が return であれば末尾と判定する。分かりやすい。 理解のために実際に最適…

call/cc - Scheme VM のお勉強

(call/cc (lambda (c) 3)) =>(frame () (conti (argument (close (c) (constant 3 (return)) (apply))))) call/cc を見ていく。 論文には call/cc は closure の特殊な場合だよと書いてあるが分からなかったので処理を追う。 frame は昨日書いた通り、curren…

エレノアに完敗

速く泳ぐコースに手足の長い外国人女性エレノア(仮名)が登場。 僕がコースのスタート地点にいるときには彼女は25メートル先でスタートを切る。 同じコースにいるので何往復もしながらお互いの距離約25メートルが微妙に変化する。 彼女の方が僅かに速いので…

某自由人2人と飲み

僕も含めて3者3様に過ごしている。 みな感性が全然違うので面白いねー。

Scheme VM のお勉強

手続き呼出し (a 3) のような手続き呼出しの実行を見る。コンパイルすると以下のように (a 3) => (frame () (constant 3 (argument (refer a (apply))))) frame 命令は current value rib を空にし、指定された next expression とその時点での env/rib/stac…

ショック

3時間分の ChangeLog が消えた。。 2時間分のヒープベースVMの内部処理解析と、1時間分の翻訳作業が消えた。

水泳

朝一でプール行ったら、受付、監視員2人、僕以外の泳いでいる2人が全員女性だった。 これは!?と思ったのも束の間、2分後に男が増えた。

深く

Mona のミュージックプレイヤがたまに落ちる プレイヤのバグを疑う libcのバグを疑う 共有メモリAPI を疑う 共有メモリカーネル側を疑う システムコール前後で謎のメモリ書き換えが起きていることが分かる コンパイラを疑う volatile を試す 逆アセンブルし…

天才プログラマ(スーパークリエータ?)に認定されました

http://www.ipa.go.jp/about/press/20071023.html2006年度未踏ソフトウェアで「天才プログラマ」に認定されました。 過去に認定をされた方と比べると自分はまだまだ未熟ですが、今後もMona OSと勉強を続け認定に相応しくなるように精進いたします。 Mona OS …

Mona OSにおけるデバッグ技法 - 2.落ちる場所を特定

Mona でアプリケーションを開発していると access denied.address = 0x900C5000 Process HAPPY.EX5 killed eip=0xA0043098name=HAPPY.EX5 のように突然アプリケーションが落ちる場合があります。 Mona には現時点でデバッガがありません。 ソースコード上の…

Mona OSにおけるデバッグ技法 - 1.自動で現象を再現させる

QEMU で何回も Mona を起動して不具合が再現させるの大変。 そういうときに楽をする方法です。 概念 以下のようなフローのスクリプトを作り自動化します。 QEMU を起動する 1秒 sleep 正常起動条件の文字列をログに見つけたら QEMU を停止 1 に戻る。 バグ再…

EoPL

4章の Types に突入。

ママさんグループの会話が

スタバでママさんグループの会話が昼ドラにでてくる典型的なお受験ママとそっくりだ。 テレビの中だけのお話かと思ったらそのまんまだ。

名刺業者を選んでいたら

面倒になってきた。 うぅ。 しかし必要なのだよな。データ入稿とかできねえぇ。 でも雛型は気に入らねぇ。

プール行ってきた

これからコード書く

[life] プログラマのための退職に伴う年金・保険証・住民税の手続きメモ

金曜日に退職し、すぐに働き始める訳ではないので、年金・保険証・住民税の手続きをやってきました。 忘れたり先延ばしにすると色々と面倒なのですぐにやってしまうのが良いです。 年金 会社に所属している間は厚生年金に加入していて「厚生年金保険」という…

Emacs の clmemo-mode で TAB キーの挙動を変更する

ChangeLogメモ時に重宝している clmemo-mode。 便利なのですがインデントを整えるつもりで TAB キーを押すと「clmemo-next-inline-date」が発行されてメモの別の場所にジャンプしてしまいます。 これはかなりストレスがたまるので TAB キーの挙動を変更して…

この影は何だ?こまった

マクロモード(チューリップ)でフラッシュをAUTOの状態で白い紙を撮影すると、謎の影が。 これは何だ?とても初歩のありがちのミスだとは思うのですが・・・。 撮影角度を変えても改善されない。

水泳部

公約通り、朝一番にプールへ。 人が3人くらいしかいなくてコース独占で気持ちよい。 人とぶつかるかもというストレスもない。 早朝の代官山はゴーストタウンっぽくて楽しいので写真を撮りにいこう。