Sven/Sarah Barth
|
155756f668
* if an outer capturer is required then that outer capturer must not be optimized into a register (fixes compilation with -Ooregvar enabled (e.g. in -O3))
|
6 ヶ月 前 |
Alligator-1
|
9caabdc4e7
Immediately set the capacity
|
1 年間 前 |
Sven/Sarah Barth
|
ad61db2ff5
* allow a nested function that calls itself can be converted to a function reference
|
1 年間 前 |
Sven/Sarah Barth
|
1853d1ddd8
* keep track which nested function definition the new method has been converted from
|
1 年間 前 |
Sven/Sarah Barth
|
1606d4e28d
* only walk the node tree if there are indeed captured symbols to convert
|
1 年間 前 |
Sven/Sarah Barth
|
ab5c5a7e9a
* also keep track of captured def (necessary when functions are captured)
|
1 年間 前 |
Sven/Sarah Barth
|
b5b7cd54eb
* fix typo in comment
|
1 年間 前 |
Sven/Sarah Barth
|
787454d5b2
* correctly handle managed function results when converting a global or nested function to a function reference
|
1 年間 前 |
Sven/Sarah Barth
|
ca0323d4ca
* the adjusted nested function needs to access the parent function for the capturer
|
1 年間 前 |
Sven/Sarah Barth
|
08dca09c7e
* revert 430bcac389c29a5ceca7759cfca69454aa31abf9 as with the change that the functions to insert hidden parameters are idempotent this is no longer required and also wrong as uses of the deleted symbols aside from Self and the framepointer would be left dangling
|
2 年 前 |
Sven/Sarah Barth
|
430bcac389
* ensure that all hidden parameter symbols are removed when adding an anonymous function to a capturer (they'll be added again later on)
|
2 年 前 |
Sven/Sarah Barth
|
5d7e3ca240
* fix #40060: ensure that Self is not added for anonymous functions that are part of a static class method
|
2 年 前 |
Sven/Sarah Barth
|
4c6338207f
* fix #40061: the Self of types that aren't implicit pointers (recods, TP-style objects, primitive types (for helpers)) needs to be stored as a Pointer in the Capturer so that modifications are correctly visible
|
2 年 前 |
Sven/Sarah Barth
|
b051e7667c
* fix #39978: ensure that Self is captured when a method of the current class is captured into a function reference
|
2 年 前 |
Sven/Sarah Barth
|
19cee9b841
+ mark the def for a capturer class with a corresponding object option
|
2 年 前 |
Sven/Sarah Barth
|
a714e2ff35
* fix #39981: retrieve the symbol that returns the desired procdef/procvardef not maybe the Self or something else as we need that symbol to differentiate the procdefs
|
2 年 前 |
Sven/Sarah Barth
|
b11366c95b
* when generating the call to the extracted function reference inside the nested routine we need to use the parameters of the nested function and not those of the newly created procdef (fixes some of the test case failures with -O2)
|
2 年 前 |
Sven/Sarah Barth
|
965bba5ab4
* cleanup captured symbols when moving them from the nested function to the new method
|
2 年 前 |
Sven/Sarah Barth
|
4f9acc10f0
* fix #39898: when a loadnode is captured ensure that its nf_load_procvar flag is applied to the subscript node as well
|
2 年 前 |
Sven/Sarah Barth
|
5e7330448d
* fix #39858: correctly keep track of symbols that need to be captured into the capturer
|
3 年 前 |
Sven/Sarah Barth
|
260368ea55
* the clause for converting the captured symbols of a nested function must not be entered by an anonymous function
|
3 年 前 |
florian
|
59811090e1
* captured variables cannot be in registers typically
|
3 年 前 |
Sven/Sarah Barth
|
8d90cd3e64
* fix #39826: correctly handle function references that are part of generics/specializations, but are not generics/specializations themselves
|
3 年 前 |
florian
|
98ec81896e
* do not throw messages on potentially uninitialized internal symbols, resolves #39744
|
3 年 前 |
Pierre Muller
|
430f1910ed
Fix compliation error with -Oodfa option as reported by Gareth
|
3 年 前 |
Sven/Sarah Barth
|
a27bc236a0
* fix #39742: when assigning a function to a function reference it's not the function itself that needs to be checked to be captureable, but instead what it captures (this applies for both the non-generic and the generic case)
|
3 年 前 |
Sven/Sarah Barth
|
3b7842c30e
* ensure that a nested function variable can not be assigned to a function reference
|
3 年 前 |
Jonas Maebe
|
59f293711a
function references: make names of interface methods valid Pascal identifiers
|
3 年 前 |
Sven/Sarah Barth
|
29cfa3b225
* ensure that the VMT for the function reference interface is generated correctly, but for this the invokedef needs to be copied without hidden parameters (and handle_calling_convention will be done by the VMT builder as well)
|
3 年 前 |
Sven/Sarah Barth
|
dadc10658c
* set the correct symtable level for the invoke procdef
|
3 年 前 |