Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
テキストスタイル
外観を変更
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
8 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
49 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
81 行
すべてコピー
44 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
76 行
すべてコピー
コピー
コピー済み
コピー
コピー済み
cbQ
9
: // global
cbQ
A
: // global
R5 = P64[Sp + 32];
R5 = P64[Sp + 32];
R4 = P64[Sp + 24];
R4 = P64[Sp + 24];
R3 = P64[Sp + 16];
R3 = P64[Sp + 16];
R2 = P64[Sp + 8];
R2 = P64[Sp + 8];
Sp = Sp + 48;
Sp = Sp + 48;
call GHC.IO.Handle.Internals.$wdo_operation_info(R5,
call GHC.IO.Handle.Internals.$wdo_operation_info(R5,
R4,
R4,
R3,
R3,
R2) args: 8, res: 0, upd: 8;
R2) args: 8, res: 0, upd: 8;
コピー
コピー済み
コピー
コピー済み
cbQ
6
: // global
cbQ
x
: // global
R1 = _saE
g
::P64;
R1 = _saE
F
::P64;
Sp = Sp + 48;
Sp = Sp + 48;
call stg_raiseIO#(R1) args: 8, res: 0, upd: 8;
call stg_raiseIO#(R1) args: 8, res: 0, upd: 8;
}
}
},
},
コピー
コピー済み
コピー
コピー済み
sat_entry() // [R1]
{ info_tbl: [(cbQt,
label: sat_info
rep:HeapRep 2 ptrs { Thunk })]
stack_info: arg_space: 8 updfr_space: Just 8
}
{offset
cbQt: // global
R2 = P64[R1 + 24];
R1 = P64[R1 + 16];
call stg_ap_p_fast(R2, R1) args: 8, res: 0, upd: 8;
}
},
GHC.IO.Handle.Internals.$wdo_operation_entry() // [R5, R4, R3, R2]
GHC.IO.Handle.Internals.$wdo_operation_entry() // [R5, R4, R3, R2]
コピー
コピー済み
コピー
コピー済み
{ info_tbl: [(cbP
q
,
{ info_tbl: [(cbP
P
,
label: block_info
label: block_info
rep:StackRep [False, False, False, False]),
rep:StackRep [False, False, False, False]),
コピー
コピー済み
コピー
コピー済み
(cbQ
w
,
(cbPR,
label: block_info
rep:StackRep [False, False, False, False, False]),
(cbQ
Q
,
label: GHC.IO.Handle.Internals.$wdo_operation_info
label: GHC.IO.Handle.Internals.$wdo_operation_info
rep:HeapRep static { Fun {arity: 5 fun_type: ArgSpec 24} })]
rep:HeapRep static { Fun {arity: 5 fun_type: ArgSpec 24} })]
stack_info: arg_space: 8 updfr_space: Just 8
stack_info: arg_space: 8 updfr_space: Just 8
}
}
{offset
{offset
コピー
コピー済み
コピー
コピー済み
cbQ
w
: // global
cbQ
Q
: // global
if ((Sp + -
40
) < SpLim) (likely: False) goto cbQ
x
; else goto cbQ
y
;
if ((Sp + -
48
) < SpLim) (likely: False) goto cbQ
R
; else goto cbQ
S
;
cbQ
x
: // global
cbQ
R
: // global
R5 = R5;
R5 = R5;
R4 = R4;
R4 = R4;
R3 = R3;
R3 = R3;
R2 = R2;
R2 = R2;
R1 = GHC.IO.Handle.Internals.$wdo_operation_closure;
R1 = GHC.IO.Handle.Internals.$wdo_operation_closure;
call (stg_gc_fun)(R5, R4, R3, R2, R1) args: 8, res: 0, upd: 8;
call (stg_gc_fun)(R5, R4, R3, R2, R1) args: 8, res: 0, upd: 8;
コピー
コピー済み
コピー
コピー済み
cbQ
y
: // global
cbQ
S
: // global
I64[Sp - 40] = cbP
q
;
I64[Sp - 40] = cbP
P
;
R1 = R5;
R1 = R5;
P64[Sp - 32] = R2;
P64[Sp - 32] = R2;
P64[Sp - 24] = R3;
P64[Sp - 24] = R3;
P64[Sp - 16] = R4;
P64[Sp - 16] = R4;
P64[Sp - 8] = R5;
P64[Sp - 8] = R5;
Sp = Sp - 40;
Sp = Sp - 40;
コピー
コピー済み
コピー
コピー済み
call stg_takeMVar#(R1) returns to cbP
q
, args: 8, res: 8, upd: 8;
call stg_takeMVar#(R1) returns to cbP
P
, args: 8, res: 8, upd: 8;
cbPq
: // global
cbPP: // global
Hp = Hp +
80
;
I64[Sp - 8] = cbPR;
if (Hp > HpLim) (likely: False) goto cbQ
B
; else goto cbQ
A
;
R2 = R1;
cbQ
B
: // global
_saEA::P64 = R1;
HpAlloc =
80
;
R1 = P64[Sp + 24];
P64[Sp] = _saEA::P64;
Sp = Sp - 8;
call stg_ap_p_fast(R2,
R1) returns to cbPR, args: 8, res: 8, upd: 8;
cbPR
: // global
Hp = Hp +
48
;
if (Hp > HpLim) (likely: False) goto cbQ
W
; else goto cbQ
V
;
cbQ
W
: // global
HpAlloc =
48
;
R1 = R1;
R1 = R1;
コピー
コピー済み
コピー
コピー済み
call stg_gc_unpt_r1(R1) returns to cbP
q
, args: 8, res: 8, upd: 8;
call stg_gc_unpt_r1(R1) returns to cbP
R
, args: 8, res: 8, upd: 8;
cbQ
A
: // global
cbQ
V
: // global
I64[Hp -
72
] = sat_info;
I64[Hp -
40
] = sat_info;
P64[Hp -
64] = P64[Sp + 8];
P64[Hp -
32
] = P64[Sp + 16];
P64[Hp - 56
] = P64[Sp + 16];
P64
[Hp - 24]
= P64[Sp + 24];
_saE6::
P64
= P64[Sp + 24];
P64[Hp -
16
] = P64[Sp + 32];
P64[Hp -
48] = _saE6::P64;
P64[Hp -
8
] =
P64[
Sp + 40]
;
P64[Hp - 40
] = P64[Sp + 32];
P64[Hp] =
P64[Sp + 8]
;
P64[Hp -
32] = R1;
R2 = Hp -
38
;
I64[Hp - 24
] =
sat_info;
R1 =
R1
;
P64[
Hp - 8] = _saE6::P64
;
Sp = Sp +
48
;
P64[Hp] =
R1
;
R2 = Hp -
70
;
R1 =
Hp - 24
;
Sp = Sp +
40
;
call stg_catch#(R2, R1) args: 8, res: 0, upd: 8;
call stg_catch#(R2, R1) args: 8, res: 0, upd: 8;
}
}
}]
}]
保存された差分
原文
ファイルを開く
cbQ9: // global R5 = P64[Sp + 32]; R4 = P64[Sp + 24]; R3 = P64[Sp + 16]; R2 = P64[Sp + 8]; Sp = Sp + 48; call GHC.IO.Handle.Internals.$wdo_operation_info(R5, R4, R3, R2) args: 8, res: 0, upd: 8; cbQ6: // global R1 = _saEg::P64; Sp = Sp + 48; call stg_raiseIO#(R1) args: 8, res: 0, upd: 8; } }, sat_entry() // [R1] { info_tbl: [(cbQt, label: sat_info rep:HeapRep 2 ptrs { Thunk })] stack_info: arg_space: 8 updfr_space: Just 8 } {offset cbQt: // global R2 = P64[R1 + 24]; R1 = P64[R1 + 16]; call stg_ap_p_fast(R2, R1) args: 8, res: 0, upd: 8; } }, GHC.IO.Handle.Internals.$wdo_operation_entry() // [R5, R4, R3, R2] { info_tbl: [(cbPq, label: block_info rep:StackRep [False, False, False, False]), (cbQw, label: GHC.IO.Handle.Internals.$wdo_operation_info rep:HeapRep static { Fun {arity: 5 fun_type: ArgSpec 24} })] stack_info: arg_space: 8 updfr_space: Just 8 } {offset cbQw: // global if ((Sp + -40) < SpLim) (likely: False) goto cbQx; else goto cbQy; cbQx: // global R5 = R5; R4 = R4; R3 = R3; R2 = R2; R1 = GHC.IO.Handle.Internals.$wdo_operation_closure; call (stg_gc_fun)(R5, R4, R3, R2, R1) args: 8, res: 0, upd: 8; cbQy: // global I64[Sp - 40] = cbPq; R1 = R5; P64[Sp - 32] = R2; P64[Sp - 24] = R3; P64[Sp - 16] = R4; P64[Sp - 8] = R5; Sp = Sp - 40; call stg_takeMVar#(R1) returns to cbPq, args: 8, res: 8, upd: 8; cbPq: // global Hp = Hp + 80; if (Hp > HpLim) (likely: False) goto cbQB; else goto cbQA; cbQB: // global HpAlloc = 80; R1 = R1; call stg_gc_unpt_r1(R1) returns to cbPq, args: 8, res: 8, upd: 8; cbQA: // global I64[Hp - 72] = sat_info; P64[Hp - 64] = P64[Sp + 8]; P64[Hp - 56] = P64[Sp + 16]; _saE6::P64 = P64[Sp + 24]; P64[Hp - 48] = _saE6::P64; P64[Hp - 40] = P64[Sp + 32]; P64[Hp - 32] = R1; I64[Hp - 24] = sat_info; P64[Hp - 8] = _saE6::P64; P64[Hp] = R1; R2 = Hp - 70; R1 = Hp - 24; Sp = Sp + 40; call stg_catch#(R2, R1) args: 8, res: 0, upd: 8; } }]
変更されたテキスト
ファイルを開く
cbQA: // global R5 = P64[Sp + 32]; R4 = P64[Sp + 24]; R3 = P64[Sp + 16]; R2 = P64[Sp + 8]; Sp = Sp + 48; call GHC.IO.Handle.Internals.$wdo_operation_info(R5, R4, R3, R2) args: 8, res: 0, upd: 8; cbQx: // global R1 = _saEF::P64; Sp = Sp + 48; call stg_raiseIO#(R1) args: 8, res: 0, upd: 8; } }, GHC.IO.Handle.Internals.$wdo_operation_entry() // [R5, R4, R3, R2] { info_tbl: [(cbPP, label: block_info rep:StackRep [False, False, False, False]), (cbPR, label: block_info rep:StackRep [False, False, False, False, False]), (cbQQ, label: GHC.IO.Handle.Internals.$wdo_operation_info rep:HeapRep static { Fun {arity: 5 fun_type: ArgSpec 24} })] stack_info: arg_space: 8 updfr_space: Just 8 } {offset cbQQ: // global if ((Sp + -48) < SpLim) (likely: False) goto cbQR; else goto cbQS; cbQR: // global R5 = R5; R4 = R4; R3 = R3; R2 = R2; R1 = GHC.IO.Handle.Internals.$wdo_operation_closure; call (stg_gc_fun)(R5, R4, R3, R2, R1) args: 8, res: 0, upd: 8; cbQS: // global I64[Sp - 40] = cbPP; R1 = R5; P64[Sp - 32] = R2; P64[Sp - 24] = R3; P64[Sp - 16] = R4; P64[Sp - 8] = R5; Sp = Sp - 40; call stg_takeMVar#(R1) returns to cbPP, args: 8, res: 8, upd: 8; cbPP: // global I64[Sp - 8] = cbPR; R2 = R1; _saEA::P64 = R1; R1 = P64[Sp + 24]; P64[Sp] = _saEA::P64; Sp = Sp - 8; call stg_ap_p_fast(R2, R1) returns to cbPR, args: 8, res: 8, upd: 8; cbPR: // global Hp = Hp + 48; if (Hp > HpLim) (likely: False) goto cbQW; else goto cbQV; cbQW: // global HpAlloc = 48; R1 = R1; call stg_gc_unpt_r1(R1) returns to cbPR, args: 8, res: 8, upd: 8; cbQV: // global I64[Hp - 40] = sat_info; P64[Hp - 32] = P64[Sp + 16]; P64[Hp - 24] = P64[Sp + 24]; P64[Hp - 16] = P64[Sp + 32]; P64[Hp - 8] = P64[Sp + 40]; P64[Hp] = P64[Sp + 8]; R2 = Hp - 38; R1 = R1; Sp = Sp + 48; call stg_catch#(R2, R1) args: 8, res: 0, upd: 8; } }]
違いを見つける