mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-24 09:02:29 +02: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 -
|
||
|---|---|---|
| .. | ||
| ag386nsm.pas | ||
| aopt386.pas | ||
| cgcpu.pas | ||
| cpubase.inc | ||
| cpuinfo.pas | ||
| cpunode.pas | ||
| cpupara.pas | ||
| cpupi.pas | ||
| cputarg.pas | ||
| csopt386.pas | ||
| daopt386.pas | ||
| i386att.inc | ||
| i386atts.inc | ||
| i386int.inc | ||
| i386nop.inc | ||
| i386op.inc | ||
| i386prop.inc | ||
| i386tab.inc | ||
| n386add.pas | ||
| n386cal.pas | ||
| n386inl.pas | ||
| n386mat.pas | ||
| n386mem.pas | ||
| n386set.pas | ||
| popt386.pas | ||
| r386ari.inc | ||
| r386att.inc | ||
| r386con.inc | ||
| r386dwrf.inc | ||
| r386int.inc | ||
| r386iri.inc | ||
| r386nasm.inc | ||
| r386nor.inc | ||
| r386nri.inc | ||
| r386num.inc | ||
| r386op.inc | ||
| r386ot.inc | ||
| r386rni.inc | ||
| r386sri.inc | ||
| r386stab.inc | ||
| r386std.inc | ||
| ra386att.pas | ||
| ra386int.pas | ||
| rgcpu.pas | ||
| rropt386.pas | ||