Jonas Maebe
|
288d1ec74a
* support referencing "result" in nostackframe pure assembler routines if
|
13 lat temu |
Jonas Maebe
|
5e93f6b70f
- reverted r1733, which caused all local procedures to become global in case
|
13 lat temu |
Jonas Maebe
|
07ebc51b6c
* always store generics token streams in little endian, so we don't have to
|
13 lat temu |
pierre
|
bc0c94c204
fpcdefs.inc: Set fpc_compiler_has_fixup_jmps for powerpcXX and mips CPUs.
|
13 lat temu |
svenbarth
|
7dfaec7a05
Fix for Mantis #21457
|
13 lat temu |
sergei
|
e0deb4cc99
* Fixed building with OPT="-dTEST_WIN64_SEH -O2" after r21454. It is not yet possible to omit rbp-based stack frames if using SEH on Win64.
|
13 lat temu |
florian
|
52372a88ca
* arm and x86-64 can do exception handling without a framepointer based stack
|
13 lat temu |
Jonas Maebe
|
baa8fa39a8
* converted code to trash variables (-gt) to operate at the node tree level,
|
13 lat temu |
florian
|
6c8eed21c4
+ implement auto inlining (-Ooautoinline)
|
13 lat temu |
florian
|
25e82bb1af
* fix stack frame generation on mips(el)
|
13 lat temu |
sergei
|
7f96fee752
+ Added a comment on tcgprocinfo.generate_exceptfilter operation.
|
13 lat temu |
sergei
|
a85bb08a74
* Save/restore high-level code generator when processing exception filters, fixes building in Win64 with -dTEST_WIN64_SEH, Mantis #21879.
|
13 lat temu |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
13 lat temu |
svenbarth
|
bd19a16be9
Add support for Default() intrinsic. For now this is only (fully) supported
|
13 lat temu |
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
|
13 lat temu |
florian
|
0fe22a358b
+ first version of ldr instruction scheduler on arm
|
13 lat temu |
paul
|
d59c0237b2
compiler: global property can't be a class property
|
13 lat temu |
svenbarth
|
a7a0ba0cf4
* Move the setup and teardown of the specialization symtable stack into two extra
|
13 lat temu |
svenbarth
|
c572395f61
* pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs:
|
13 lat temu |
sergei
|
cbad0abab5
+ Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH.
|
13 lat temu |
sergei
|
149218408b
* Factored part of tcgrpocinfo.generate_code (responsible for setting up tempgen and stack frame) into a separate method.
|
13 lat temu |
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.
|
13 lat temu |
sergei
|
f6761d7939
* Handle safecall exceptions entirely in tcgtryfinallynode pass2. This simplifies things and removes the need in hidden safe_result variable.
|
13 lat temu |
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.
|
13 lat temu |
sergei
|
b223e104ac
Refactoring:
|
13 lat temu |
florian
|
20b1e3af78
Merging of generics branch of Sven Barth
|
13 lat temu |
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.
|
13 lat temu |
sergei
|
c8e65c501a
* Don't optimize away implicit initialization/finalization procedures if corresponding clause is present in the source but is empty. Resolves #19701.
|
13 lat temu |
svenbarth
|
4419dc3d34
Rebase to revision 19673
|
13 lat temu |
svenbarth
|
87d9714221
Somehow the changes regarding tf_methods_specialized weren't commited, thus here they are again:
|
13 lat temu |