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

Created Diff never expires
31 removals
33 lines
6 additions
8 lines
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