sergei
|
cbad0abab5
+ Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH.
|
13 年之前 |
sergei
|
149218408b
* Factored part of tcgrpocinfo.generate_code (responsible for setting up tempgen and stack frame) into a separate method.
|
13 年之前 |
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 年之前 |
sergei
|
f6761d7939
* Handle safecall exceptions entirely in tcgtryfinallynode pass2. This simplifies things and removes the need in hidden safe_result variable.
|
13 年之前 |
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 年之前 |
sergei
|
b223e104ac
Refactoring:
|
14 年之前 |
florian
|
20b1e3af78
Merging of generics branch of Sven Barth
|
14 年之前 |
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.
|
14 年之前 |
sergei
|
c8e65c501a
* Don't optimize away implicit initialization/finalization procedures if corresponding clause is present in the source but is empty. Resolves #19701.
|
14 年之前 |
svenbarth
|
4419dc3d34
Rebase to revision 19673
|
14 年之前 |
svenbarth
|
87d9714221
Somehow the changes regarding tf_methods_specialized weren't commited, thus here they are again:
|
14 年之前 |
svenbarth
|
461d231daa
Rebase to revision 19078 (directly before the merge of cpstrnew)
|
14 年之前 |
svenbarth
|
594f84dc2c
Merge branch 'unique-syms'
|
14 年之前 |
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.
|
14 年之前 |
svenbarth
|
feeff56099
We need to flag specializations of record-/objectdef once we have generated their methods otherwise an interesting situation might occur:
|
14 年之前 |
sergei
|
fa4b78363c
+ Handle safecall exceptions with a dedicated compilerproc, simplifies compiler part and reduces generated code size.
|
14 年之前 |
florian
|
c6a0cafdb0
* don't generate implicit exception frames for pure assembler routines, resolves #20075
|
14 年之前 |
florian
|
d7f7a9bb76
* patch by Alexander Shishkin to clean up $ifopt usage by $push/$pop, resolves #20346
|
14 年之前 |
sergei
|
b997094755
+ Generate unwind bytecode for function prologues on win64.
|
14 年之前 |
Jonas Maebe
|
125c0cf225
+ support for generics on the JVM target:
|
14 年之前 |
pierre
|
57f3f0a82b
scanner unit:
|
14 年之前 |
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
|
14 年之前 |
Jonas Maebe
|
69abbba6bb
* split several parameter insertion helpers out from pdecsub for
|
14 年之前 |
Jonas Maebe
|
2376003cd0
* wrap the init/finalization code even when it is implicitly generated
|
14 年之前 |
Jonas Maebe
|
1c3f0c7a2f
* also wrap the initcode of main programs, so that typed constants get
|
14 年之前 |
Jonas Maebe
|
8fa42c206f
+ support for nested procedures for the JVM target
|
14 年之前 |
Jonas Maebe
|
e775e2d9ae
* moved gen_entry_code/gen_exit_code from ncgutil to hlcgobj,
|
14 年之前 |
Jonas Maebe
|
f27ebf8b6d
+ explicitly add constructors of parent class that do not appear in the
|
14 年之前 |
Jonas Maebe
|
23539dcfaf
* only call add_synthetic_method_implementations() for the localst after
|
14 年之前 |
Jonas Maebe
|
43c5ed20c2
+ support for initialising typed constants via compiler-generated
|
14 年之前 |