Commit History

Autor SHA1 Mensaxe Data
  Jonas Maebe aee5380ae0 * merged trunk up to r20882 %!s(int64=13) %!d(string=hai) anos
  svenbarth bd19a16be9 Add support for Default() intrinsic. For now this is only (fully) supported %!s(int64=13) %!d(string=hai) anos
  florian f4af507321 * inline is only a hint to the compiler which might be ignored so throw only a hint and not a warning if subroutine cannot be inlined %!s(int64=13) %!d(string=hai) anos
  florian 0fe22a358b + first version of ldr instruction scheduler on arm %!s(int64=13) %!d(string=hai) anos
  paul d59c0237b2 compiler: global property can't be a class property %!s(int64=13) %!d(string=hai) anos
  svenbarth a7a0ba0cf4 * Move the setup and teardown of the specialization symtable stack into two extra %!s(int64=13) %!d(string=hai) anos
  svenbarth c572395f61 * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs: %!s(int64=13) %!d(string=hai) anos
  sergei cbad0abab5 + Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH. %!s(int64=13) %!d(string=hai) anos
  sergei 149218408b * Factored part of tcgrpocinfo.generate_code (responsible for setting up tempgen and stack frame) into a separate method. %!s(int64=13) %!d(string=hai) anos
  sergei f8e921e478 * Fixed code generation for constructors compiled in {$implicitexeptions off} state, or having no implicit finally frame. Exit label and finalization code have to be placed before call to AfterConstruction, so exit statements do not jump over AfterConstruction, and overall control flow is the same as in default {$implicitexceptions on} state. %!s(int64=13) %!d(string=hai) anos
  sergei f6761d7939 * Handle safecall exceptions entirely in tcgtryfinallynode pass2. This simplifies things and removes the need in hidden safe_result variable. %!s(int64=13) %!d(string=hai) anos
  sergei 66ec137f09 * Partially reverted r19668. It turns out that the implicit finally block in constructors, besides its intended purpose, provides correct position of the exit label (more precisely, it relocates exit label to the start of 'finally' part without subsequent restoring it to original value). Optimizing it away causes exit statements in constructors to jump over AfterConstruction call. %!s(int64=13) %!d(string=hai) anos
  sergei b223e104ac Refactoring: %!s(int64=14) %!d(string=hai) anos
  florian 20b1e3af78 Merging of generics branch of Sven Barth %!s(int64=14) %!d(string=hai) anos
  sergei 270fc39432 * An open array/array of const parameter passed by value and requiring a local copy on heap (currently all targets except non-Darwin i386 ones) should not be placed into register and should force procedure to have an implicit finally block. %!s(int64=14) %!d(string=hai) anos
  sergei c8e65c501a * Don't optimize away implicit initialization/finalization procedures if corresponding clause is present in the source but is empty. Resolves #19701. %!s(int64=14) %!d(string=hai) anos
  svenbarth 4419dc3d34 Rebase to revision 19673 %!s(int64=14) %!d(string=hai) anos
  svenbarth 87d9714221 Somehow the changes regarding tf_methods_specialized weren't commited, thus here they are again: %!s(int64=14) %!d(string=hai) anos
  svenbarth 461d231daa Rebase to revision 19078 (directly before the merge of cpstrnew) %!s(int64=14) %!d(string=hai) anos
  svenbarth 594f84dc2c Merge branch 'unique-syms' %!s(int64=14) %!d(string=hai) anos
  sergei 6cb6569d51 * Set pi_uses_exceptions flag when creating/firstpassing ttryexceptnode or ttryfinallynode, not when parsing try statements. It ensures that procedures with exception handling nodes created by compiler (constructors in the first place, but also for..in loops with TObject iterators, etc.) are handled the same way as ones containing exception nodes from user code. %!s(int64=14) %!d(string=hai) anos
  svenbarth feeff56099 We need to flag specializations of record-/objectdef once we have generated their methods otherwise an interesting situation might occur: %!s(int64=14) %!d(string=hai) anos
  sergei fa4b78363c + Handle safecall exceptions with a dedicated compilerproc, simplifies compiler part and reduces generated code size. %!s(int64=14) %!d(string=hai) anos
  florian c6a0cafdb0 * don't generate implicit exception frames for pure assembler routines, resolves #20075 %!s(int64=14) %!d(string=hai) anos
  florian d7f7a9bb76 * patch by Alexander Shishkin to clean up $ifopt usage by $push/$pop, resolves #20346 %!s(int64=14) %!d(string=hai) anos
  sergei b997094755 + Generate unwind bytecode for function prologues on win64. %!s(int64=14) %!d(string=hai) anos
  Jonas Maebe 125c0cf225 + support for generics on the JVM target: %!s(int64=14) %!d(string=hai) anos
  pierre 57f3f0a82b scanner unit: %!s(int64=14) %!d(string=hai) anos
  florian cf0d808708 + avr assemblers do not convert automatically cond. branches with too large jump distances into an unconditional branch and a reverse condition branch, so fpc does this now %!s(int64=14) %!d(string=hai) anos
  Jonas Maebe 69abbba6bb * split several parameter insertion helpers out from pdecsub for %!s(int64=14) %!d(string=hai) anos