NAKAMURA Minoru の日記 (2012年5月)

先月の日記(2012年04月) 今月の日記(2012年05月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | Google+
slideshare | github | Qiita



5/29 (火)

SPARC V8 ABI の変なルール

とある 32 ビット SPARC/Solaris のオブジェクトコードを見ていると、以下のような機械語パターンが頻繁に出ていることに気づいた。

call address
nop
unimp 0x0

nop は call 命令の delay-slot なのでいいのだが、次の unimp は illtrap を発生させる未実装命令ではないですか。 これが実行されたら割り込みがあがらない?

しばらく悩んだのだが The SPARC Architecture Manual Version 8 の Appendix D. Software Considerations の章に D.3 Functions Returning Aggregate Values という節がある。

Some programming languages, including C, some dialects of Pascal, and Modula-2, allow the user to define a function returning an aggregate value. Examples include a C struct or union, or a Pascal record. Since such a value may not fit into the registers, another value-returning protocol must be defined to return the result in memory.

Reentrancy and efficiency considerations require that the memory used to hold such a return value be allocated by the function’s caller. The address of this memory area is passed as the one-word hidden parameter mentioned in the section The Memory Stack above.

Because of the lack of type safety in the C language, a function should not assume that its caller is expecting an aggregate return value and has provided a valid memory address. Thus, some additional handshaking is required.

When a procedure expecting an aggregate return value from a called function is compiled, an UNIMP instruction is placed after the delay-slot instruction following the CALL to the function in question. The immediate field in this UNIMP instruction contains the low-order twelve bits of the size (in bytes) of the area allocated by the caller for the aggregate value expected to be returned.

When the aggregate-returning function is about to store its value in the memory allocated by its caller, it first tests for the presence of this UNIMP instruction in its caller's instruction stream. If it is found, the callee assumes the hidden parameter to be valid, stores its return value at the given address, and returns control to the instruction following the caller’s UNIMP instruction. If the UNIMP instruction is not found, the hidden parameter is assumed not to be valid and no value is returned.

On the other hand, if a scalar-returning function is called when an aggregate return value is expected (which is clearly a software error), the function returns as usual, executing the UNIMP instruction, which causes an unimplementedinstruction trap.

このルールは関数の戻り値が集合型(struct や union)の場合のスタックのチェック強化のためにあるようだ。 集合型を戻り値にする関数は、呼び出し側(caller)の call 命令の delayed-slot の後に UNIMP を置く必要がある。 呼び出される側(callee)は関数のリターンアドレスに UNIMP 命令があることを確認し、UNIMP の次の命令にリターンせよとある。

呼び出される関数の戻り値が非集合型だった場合このようなチェックは行われず、通常通りリターンアドレスにリターンすることになる。 そのため呼び出し側が戻り値が集合型を期待しているのに戻り値が非集合型の関数を呼び出した場合、UNIMP 命令が実行されて割り込みがあがり型チェックできることになる。

ただ実際には、たかが型チェックのためには高コストな方法であろう。

この規則は V9 の ABI からは消えている。


5/26 (土)

第二回x86勉強会

第二回x86勉強会に関する勉強会が目黒のドリコムで開催されたので参加した。

今日見つけた檄文

会場の目黒アルコタワーに着くまでにだいぶ迷走したのだが、その途中にこんな垂れ幕が掛かっている建物を見つけた。

「えん罪に加担した最高裁棄却決定糾弾!」だそうだ。


5/25 (金)

Infiniband Day [5]

Infiniband の勉強会 Infiniband Day [5] に参加。 開催場所は新宿さくらインターネット研究所セミナールーム。

[Food] 中華料理 古月@新宿

Infiniband Day の終了後、中島さんと中華料理 古月の新宿店(公式食べログ)へ。 ここは麻婆豆腐が美味しいらしい。

麻婆豆腐は美味しいのだが、花椒は控えめであまり辛くない。 なんとなく牛蒡の味がして柳川風麻婆豆腐といった感じ。

炒飯は大変美味。


5/20 (日)

[Movie] ロボットの2回目

5月12日に続いて「ロボット」(公式サイト)の2回目を観に行く。 上映開始からすでに1週間が経ち公開時間の縮小がはじまっていて、劇場選びに苦労する。 今回はこれまでに行ったことがない桜木町の横浜ブルク13で観てきた。

「ロボット」としては最終回だったが、客席は半分ぐらい埋まっていた。


5/19 (土)

[Movie] ダーク・シャドウ

ティム・バートン監督作品ということで観てくる。 鑑賞した劇場はいつもの川崎チネチッタ。 15:50 の字幕。 今日から封切のはずだが客の入りは半分ぐらいか。

同じティム・バートンでもAlice In Wonderlandはディズニー映画ということで最初から期待していなかったのだが今作は多少希望していたのだが、単なる吸血鬼コメディー映画になってしまっていたような。 かつてバートンはシザー・ハンズを撮った監督なんだよなぁ orz

[Food] カレーショップトップス@ラゾーナ川崎

ラゾーナ川崎のカレーショップトップス(公式食べログ)にタイ風のグリーンカレーが復活していた。 食べて帰る。

トップスは前回は2011年12月25日に来ている。


5/13 (日)

[Food] ひつまぶし

渋谷東急百貨店で「名古屋でらうま市」という名古屋の物産展が開かれていた。 名古屋なまずやのブースでひつまぶしを食べる。 ひつまぶしを食べるのは久しぶり(2005年1月4日2005年8月6日)

ひつまぶしはお茶漬けにして食べるのが一番うまし。 ワサビは控えめにして山椒をきかせて食べるべし、食べるべし。


5/12 (土)

タイフェスティバル 2012 代々木

代々木公園で開催されたタイフェスティバル 2012に行ってみた。 タイフェスタは前回は2011年10月9日に靖国神社の参道で開催されたが、今回はそれよりも人出が多い。 NHK から代々木公園に進入すると人人人の人だかり。 ものすごい大混雑。

着グルミはタイ国政府観光庁イメージキャラクター「ハッピーちゃん」だそうです。

タイのタクシーの展示兼販売をやっています。

ドリアン


ドリアン

タイ北部のソーセージのサイコロイサン(米入り)とサイウア(スパイシーハーブ)。 外からは区別がつかない。

フレッシュ ココナッツ アイスクリーム

目玉焼きのレッドカレーソース炒め & ジャスミンライス。

台風焼きそば(バッタイ)とイサーンソーセージとチェンマイソーセージ。


バッタイ

ソーセージ

[Movie] ロボット

スーパースターラジニが出演するインド映画「ロボット」(公式サイト)が今日から封切。 渋谷から川崎に移動して109シネマで見る。

ラジニの映画は「ムトゥ」「アルナーチャラム」を見たことがあるが、今回は SFX や 3D の多様された SF 作品になっている。 前半のヒューマンドラマはハリウッド文法とはかなり異なるインド映画、後半はハリウッド作品的なアクションシーン映画になっている。

ミュージカルのように途中にダンスシーンが挿入され踊りまくるのはいつもの通り。 ただラジニカーントはもう随分な齢でダンスやアクションシーンのキレはない。

[Food] ティーヌン 川崎ダイス店@川崎

昼にタイフェスタに行ったというのに夜もタイ料理。 川崎ダイスにあるタイ料理のティーヌンに。 前回は2012年2月4日に来ている。

「おひとり様専用夜定食」でグリーカレーを食べてから帰る。


春巻き

ハーフトムヤムクンヌードル

グリーンカレー

おひとり様専用ミニトムヤクムン

5/10 (木)

[時事] 横浜に雹が降って横浜駅は浸水

横浜に大粒の雹が降り、横浜駅は浸水して水浸しになったようだ。

6日にも茨城で雹が降ったようだけど、東関東は異常気象のようだ。


5/6 (日)

[Food] L'Antica Pizzeria da Michele

ROCKET NEWS24の記事を読んで恵比寿にできたアンティーカ・ピッツェリア・ダ・ミケーレに行ってみた。 私が行ったときは行列が出来ていた。

マルゲリータを注文する。切らずに出てくる。


マルゲリータ

オイル漬けの真イワシ

同じ ROCKET NEWS24 のニュースを見て渋谷のナポリスに行ったときはここまで絶賛するのはどうかと思ったが、ミケーレは普通に美味しい。

[時事] つくばで竜巻が発生

茨城県つくば市や栃木県真岡市で竜巻が発生。 つくば市北条では突風で家屋が破壊されることも。


5/5 (土)

横浜散策

横浜でぶらぶら。 赤レンガの近くで「未知の鼻」というバルーンのモニュメントが出来ていた。

石鹸

赤レンガ倉庫にある LUSH という石鹸屋さん(公式横浜赤レンガ倉庫)で石鹸を購入。 見た目がチーズだが石鹸です。 香りが大変よい。

追記

LUSH の通販は発送日が指定できるのは 10 日後以降になる。

[Food] 四川料理 京華樓@横浜中華街

四川料理の京華樓(公式)という四川料理の店で晩飯をとる。

麻婆豆腐は四川式の山椒がきいた味で大変よい。


5/4 (金)

[Food] 麻布ラーメン@慶應三田店

「塩ジェノベーゼつけ麺」なるものがあると聞いて麻布ラーメンの慶應三田店に行く(食べログラーメンデータベースぐるなび)。 スパゲッティのジェノベーゼのようにバジルが大量に浮いているつけ麺ダレだ。 麻布ラーメンの店舗の中でもこの店でしか食べられないようだ。

バジルはたれの表面に浮いていてたれそのものはつけ麺ラーメンのつけのようだ。 ジェノベーゼパスタとつけ麺の合いの子のような味。


5/1 (火)

[Food] ロシア料理レストランろしあ亭@神保町

ゴールデンウィーク中なのか神保町の飯屋は結構しまっている。 そこで前々か気になっていたすずらん通りのロシア料理ろしあ亭(食べログ)に行ってみた。

限定コースメニューを食べる。


ロシア風のパン

ケタのブリヌイ巻き

展開したところ

ボルシチ

ビーフストロガノフ

ロシアンティー

デザートはロシア風ではない

ボルシチが赤いのはビーツの赤だったのね。


先月の日記(2012年04月) 今月の日記(2012年05月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | Google+
slideshare | github | Qiita


Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp