31 removals
6 additions

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

Created by:blikblum

1.P$CONSTPARAMETERSTR_$$_BYVALUEREADONLY$ANSISTRING:1.P$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
original text
changed text