Cryolite が C++0x の 1.10 を読み終えたようです.

あの屈辱的敗戦から1年以上が経とうとしていた…….惨敗を喫した Cryolite は, C++0x の "1.10 Multi-threaded executions and data races" 打倒を掲げ, yamasa 監督の厳しい指導の下,過酷極まる猛特訓を重ねた.そして,ついにその日が訪れたのである……!
11
Akso de la Malbono @Cryolite

泣いて喜ぶ……だと? ククククク,Cambridge の連中が rigorous な形式化を出してきたのは私の『よげんのしょ』に記載された予定調和に過ぎぬ.それよりも release sequence の定義(と CA 12, GB 9)が明確になったことに歓喜せよ!!!

2010-08-29 19:23:20
Akso de la Malbono @Cryolite

N3132 の「‘Maximal’ in release sequences」の部分を読む限り, N3132 の著者らは現行の規格 (N3126) の release sequence の定義は誤り(良く言って「誤解を招く書き方」)だという認識のようで.

2010-08-29 19:29:43
やまさ @yamasa

@Cryolite そのrelease sequenceですが、今あらためてn3092を読み直すと、箇条書き1項めの "the release" を我々が読み間違えただけだったような気がしてきました。

2010-08-29 20:09:41
やまさ @yamasa

@Cryolite first operationが"a release"とは書いてありますが、subsequent operationについては良く読むとreleaseであるとは言っていません。

2010-08-29 20:16:14
やまさ @yamasa

@Cryolite "the same thread that performed the release"とは書いてありますが、この"the release"は"the first operation"のことですよね。

2010-08-29 20:17:41
Akso de la Malbono @Cryolite

あーっと,そうか. "the release" は "the first operation is a release" の first operation を指すのか.ということは,後続は relax や CAS を含めて全部 release sequence に含まれるのな.

2010-08-29 20:17:48
やまさ @yamasa

a と the の違いは日本人にはわかりにくい…

2010-08-29 20:20:13
Akso de la Malbono @Cryolite

@yamasa って先に書かれてしまっていました.しかし依然として release が複数連続する場合は "maximal contiguous" という言葉と 1.10/7 の記述から,後続の release と s.w. しないように読めるのは変わらないので変だ,と.

2010-08-29 20:20:45
やまさ @yamasa

@Cryolite 確かにmaximal contiguousについては、以前の記述は変ですね。そこら辺りが明確になったので、今回の修正は嬉しいです。

2010-08-29 20:25:12
Akso de la Malbono @Cryolite

そうか, 1.10/6 は何か変だな~と思っていたけれど,「relaxed な操作で書かれた値を acquire で読めたなら, relaxed 操作を行ったスレッド内で, relaxed 操作から逆にたどっていって最初の release と s.w. する」と書きたいのかこれ.

2010-08-29 20:26:07
やまさ @yamasa

@Cryolite ですね。私もそう解釈しました。

2010-08-29 20:30:28
Akso de la Malbono @Cryolite

ふ……ふはは,ふはははは! 読めた……読めたぞ!! 1.10 が…… 1.10 が読めたぞ!! 1.10 においてほぼ唯一にして最大の疑問が解けた今,私はようやく「1.10 を読みました」と言える身に!!!

2010-08-29 20:32:38
Akso de la Malbono @Cryolite

@yamasa さんのおかげで 1.10 が読めました! ありがとうございます!

2010-08-29 20:35:01
やまさ @yamasa

@Cryolite いえいえ、こちらこそ。やっぱりこうして議論してみないと、ちゃんと理解するのは難しいですね。

2010-08-29 20:36:54