Commit History

Autor SHA1 Mensaxe Data
  sergei 96dd464bf2 * Moved fixup_jmps to target-specific classes for powerpc,powerpc64 and MIPS, cleaned out remaining $ifdef's. A slight functionality change is that fixup_jmps is now called before adding the procedure end symbol, not after, but that should not matter. %!s(int64=11) %!d(string=hai) anos
  sergei eeb15fc445 * Added virtual method tprocinfo.postprocess_code and moved target-specific processing from base class into target-specific descendant classes (ARM and AVR, other targets still to do). %!s(int64=11) %!d(string=hai) anos
  Jonas Maebe d020a32b9a - removed no longer used tprocdef.fpu_used field for i386/i8086 (the one %!s(int64=11) %!d(string=hai) anos
  Jonas Maebe b57c95043f + support overriding tdef/tsym methods with target-specific functionality: %!s(int64=11) %!d(string=hai) anos
  florian 686a2d2f3f + Support omitting the frame pointer on arm even in procedures with incoming parameters %!s(int64=11) %!d(string=hai) anos
  florian 04464b8622 * do not create an fpc_zeromem node if size=0 %!s(int64=11) %!d(string=hai) anos
  Jonas Maebe f936a48afa * don't change the forward/interface definition of regular forward/interface %!s(int64=11) %!d(string=hai) anos
  Jonas Maebe 1ac4021178 * moved po_has_inlininginfo from procoptions to procimploptions so that %!s(int64=11) %!d(string=hai) anos
  sergei 52af9a2c89 * Changed passing of hidden parameters to constructors of class-style objects: VMT is always passed in the first ('self') parameter, and the second one ('vmt', although this name is now misleading) contains flag specifying the constructor behavior and meaning of 'self'. Together with r26656 this removes methodpointer sharing between two parameter node trees, it becomes possible not to put methodpointer into temp, but use node tree below 'self' parameter to do virtual calls. This also matches behavior of Delphi. %!s(int64=11) %!d(string=hai) anos
  sergei a1dfaa54dd * Fixed exception handling in constructors of TP-style objects to correctly handle cases of statically allocated objects (must call destructor but do not free memory) and objects without destructor (must free memory if it was allocated dynamically). %!s(int64=11) %!d(string=hai) anos
  florian b1f54b2853 * indentation fixed %!s(int64=11) %!d(string=hai) anos
  florian fc7dc9e54c * do cse after the init/final code has been inserted, this might enable new cse opportunities %!s(int64=11) %!d(string=hai) anos
  florian 6e63272ab7 * added missing parenthesis %!s(int64=11) %!d(string=hai) anos
  nickysn 338d72f564 * extracted the code from psub.translate_registers for generating the name of %!s(int64=11) %!d(string=hai) anos
  sergei 6ea9ce1077 * Force managed types to be always returned in parameters, independent of target (primitive types were already handled that way; the patch affects small records with fields of managed types). %!s(int64=11) %!d(string=hai) anos
  florian 99eadb91b3 * run CheckAndWarn to get proper locations for warnings about uninitialized variables %!s(int64=12) %!d(string=hai) anos
  florian 8be7cfa05f * check the scope of a variable when checking dfa based uninitialized variables, %!s(int64=12) %!d(string=hai) anos
  florian 57586b69c7 * implicit try...finally frames are added after dfa so we don't have to take care if the subroutine needs/uses those or not %!s(int64=12) %!d(string=hai) anos
  florian 3cb747f4a7 * mark the node which is the entry of the user code with a flag %!s(int64=12) %!d(string=hai) anos
  florian cca520abd9 + warn for uninitialized out parameters when dfa is enabled %!s(int64=12) %!d(string=hai) anos
  florian 1a4584f4c6 + dead store elimination, based on a patch by Jeppe Johansen %!s(int64=12) %!d(string=hai) anos
  florian e8787c4b48 + constant propagation, based on a patch by Jeppe Johansen %!s(int64=12) %!d(string=hai) anos
  svenbarth 68a3827539 Fix for Mantis #21051. Correctly handle specializations that occur during the specialization of methods. %!s(int64=12) %!d(string=hai) anos
  sergei 7fbcf64608 * Disabled r25488 for ARM targets since it causes crashes there, Mantis #25050. %!s(int64=12) %!d(string=hai) anos
  sergei 1bd43f0ea1 * Outgoing parameters on stack do not need to inhibit stack frame optimization on targets with fixed stack, because there they do not modify stack pointer in the middle of routine. %!s(int64=12) %!d(string=hai) anos
  florian d4968e054b + arm: tsettings.instructionset %!s(int64=12) %!d(string=hai) anos
  sergei ac2006898f * Mark procedures with shortstring value parameters as non-leaf, because such parameters generate a call (to fpc_shortstr_assign). %!s(int64=12) %!d(string=hai) anos
  svenbarth fc79d47b09 Fix for Mantis #24651. Allow pointer comparison for internal expressions (in this case check for valid VMT). %!s(int64=12) %!d(string=hai) anos
  sergei 1419a12865 - Removed MIPS-specific code which has been copied to TMIPSProcinfo.set_first_temp_offset in r23885. %!s(int64=12) %!d(string=hai) anos
  sergei 4e873d0561 + Determine early (before pass 2) whether managed parameters/locals/temps will cause the procedure to reference RTTI labels and, therefore, need GOT. %!s(int64=12) %!d(string=hai) anos