-31 Removals
+6 Additions

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

Created by:blikblum

1P$CONSTPARAMETERSTR_$$_BYVALUEREADONLY$ANSISTRING:1P$CONSTPARAMETERSTR_$$_BYREFERENCEREADONLY$ANSISTRING:
2# Temps allocated between ebp-44 and ebp-42# Var V located in register eax
3# [30] begin3# [35] begin
4 pushl %ebp4# Var V located in register eax
5 movl %esp,%ebp5# [36] DoIt(V);
6 leal -44(%esp),%esp
7# Var V located at ebp-4, size=OS_32
8 movl %eax,-4(%ebp)
9 call fpc_ansistr_incr_ref
10 movl $1,%eax
11 leal -40(%ebp),%edx
12 leal -16(%ebp),%ecx
13 call fpc_pushexceptaddr
14 call fpc_setjmp
15 pushl %eax
16 testl %eax,%eax
17 jne .Lj15
18# [31] DoIt(V);
19 movl -4(%ebp),%eax
20 call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING6 call P$CONSTPARAMETERSTR_$$_DOIT$ANSISTRING
21.Lj15:7# [37] end;
22 call fpc_popaddrstack
23# [32] end;
24 leal -4(%ebp),%eax
25 call fpc_ansistr_decr_ref
26 popl %eax
27 testl %eax,%eax
28 je .Lj16
29 call fpc_reraise
30.Lj16:
31 movl %ebp,%esp
32 popl %ebp
33 ret8 ret
Editor
Original Text
Changed Text
Recommended videos