Assembler output of string parameters without and with const (read only)

Created Diff never expires
35 remoções
Linhas
Total
Removido
Palavras
Total
Removido
Para continuar usando este recurso, atualize para
Diffchecker logo
Diffchecker Pro
33 linhas
6 adições
Linhas
Total
Adicionado
Palavras
Total
Adicionado
Para continuar usando este recurso, atualize para
Diffchecker logo
Diffchecker Pro
8 linhas
P$CONSTPARAMETERSTR_$$_BYVALUEREADONLY$ANSISTRING:
P$CONSTPARAMETERSTR_$$_BYREFERENCEREADONLY$ANSISTRING:
# Temps allocated between ebp-44 and ebp-4
# Var V located in register eax
# [30] begin
# [35] begin
pushl %ebp
# Var V located in register eax
movl %esp,%ebp
# [36] DoIt(V);
leal -44(%esp),%esp
# Var V located at ebp-4, size=OS_32
movl %eax,-4(%ebp)
call fpc_ansistr_incr_ref
movl $1,%eax
leal -40(%ebp),%edx
leal -16(%ebp),%ecx
call fpc_pushexceptaddr
call fpc_setjmp
pushl %eax
testl %eax,%eax
jne .Lj15
# [31] DoIt(V);
movl -4(%ebp),%eax
call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING
call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING
.Lj15:
# [37] end;
call fpc_popaddrstack
# [32] end;
leal -4(%ebp),%eax
call fpc_ansistr_decr_ref
popl %eax
testl %eax,%eax
je .Lj16
call fpc_reraise
.Lj16:
movl %ebp,%esp
popl %ebp
ret
ret