[過去ログ]
C#, C♯, C#相談室 Part96 (1002レス)
C#, C♯, C#相談室 Part96 http://mevius.5ch.net/test/read.cgi/tech/1639965805/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
142: デフォルトの名無しさん (ワッチョイ 1232-IMun) [sage] 2022/03/15(火) 21:00:09.00 ID:ZTE9InWz0 >>137 JIT最適化を抑制せずF11でデバッグして逆アセンブルすると 先にConsole.WriteLine(Boolean)がTrue固定で呼び出されて その後にMarshal.IsNullOrWin32Atom(IntPtr)となってるね 未定義動作はタイムトラベルを…彷彿とさせるがC#なんだよなぁ MSIL的にも&とnative intの結果型は&に定められている筈だし とはいえ、管理下ポインタはnullになりえないとか有った気もするし null参照への演算が未定義なら道理なのかもしれない、あるいはバグか http://mevius.5ch.net/test/read.cgi/tech/1639965805/142
144: デフォルトの名無しさん (ワッチョイ a236-8qwV) [sage] 2022/03/15(火) 21:24:27.40 ID:uT8cdwkS0 >>142 null参照への演算が未定義というのは、AddByteOffset メソッド内の話でしょうか。 下記のページの AddByteOffset<T>(ref T, IntPtr) のところをみると ldarg.0 ldarg.1 add ret とコメントされていて、少なくとも IL 的には一つ目の引数が null でも特に問題はないように思えてしまいます。 IL 的に問題がないかどうかは私は自信がないのですが、 もし IL に問題がないのに JIT 最適化で問題が起きてしまうとすれば、 バグと考えてもよいのでしょうか。 参考 https://github.com/dotnet/corert/blob/master/src/System.Private.CoreLib/shared/Internal/Runtime/CompilerServices/Unsafe.cs http://mevius.5ch.net/test/read.cgi/tech/1639965805/144
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.042s