mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-27 09:31:52 +01:00
be used outside the code generator
* renamed tabstractprocdef.requiredargarea into callerargareasize,
and also added calleeargareasize field; added init_paraloc_info(side)
method to init the parameter locations and init those size fields and
replaced all "if not procdef.has_paraloc_info then ..." blocks with
procdef.init_paraloc_info(callersize)"
* moved detection of stack tainting parameters from psub to
symdef/tabstractprocdef
+ added tcallparanode.contains_stack_tainting_call(), which detects
whether a parameter contains a call that makes use of stack paramters
* record for each parameter whether or not any following parameter
contains a call with stack parameters; if not, in case the current
parameter itself is a stack parameter immediately place it in its
final location also for use_fixed_stack platforms rather than
first putting it in a temporary location (part of mantis #17442)
* on use_fixed_stack platforms, always first evaluate parameters
containing a stack tainting call, since those force any preceding
stack parameters of the current call to be stored in a temp location
and copied to the final location afterwards
git-svn-id: trunk@16050 -
|
||
|---|---|---|
| .. | ||
| aasmcpu.pas | ||
| ag68kgas.pas | ||
| aoptcpu.pas | ||
| aoptcpub.pas | ||
| aoptcpud.pas | ||
| cgcpu.pas | ||
| cpuasm.pas | ||
| cpubase.pas | ||
| cpuinfo.pas | ||
| cpunode.pas | ||
| cpupara.pas | ||
| cpupi.pas | ||
| cputarg.pas | ||
| itcpugas.pas | ||
| m68kreg.dat | ||
| n68kadd.pas | ||
| n68kcal.pas | ||
| n68kcnv.pas | ||
| n68kmat.pas | ||
| r68kcon.inc | ||
| r68kgas.inc | ||
| r68kgri.inc | ||
| r68knor.inc | ||
| r68knum.inc | ||
| r68krni.inc | ||
| r68ksri.inc | ||
| r68ksta.inc | ||
| r68kstd.inc | ||
| r68ksup.inc | ||
| ra68k.pas | ||
| ra68kmot.pas | ||
| rgcpu.pas | ||