Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Editor live
Ocultar espacios en blanco
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Estilos de texto
Cambiar apariencia
Resaltado de sintaxis
Elegir sintaxis
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
Untitled diff
Creado
hace 8 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
49 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
81 líneas
Copiar todo
44 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
76 líneas
Copiar todo
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
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;
}
}
},
},
Copiar
Copiado
Copiar
Copiado
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]
Copiar
Copiado
Copiar
Copiado
{ 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]),
Copiar
Copiado
Copiar
Copiado
(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
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
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;
Copiar
Copiado
Copiar
Copiado
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;
}
}
}]
}]
Diferencias guardadas
Texto original
Abrir archivo
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; } }]
Texto modificado
Abrir archivo
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; } }]
Encontrar la diferencia