Jonas Maebe
|
9973a5737f
* don't give an error when calling a class method on an object typecasted
|
12 роки тому |
nickysn
|
284f1c904a
* fixed a parameter pushing order bug on the i8086
|
12 роки тому |
Jonas Maebe
|
1601f6bea8
* treat methods called via records the same as records called via objects
|
12 роки тому |
florian
|
63f6afffd5
+ make empty proc. removal switchable by removeemptyprocs
|
12 роки тому |
svenbarth
|
344571cb4e
Added support for type helpers. In non Delphi modes they use "type helper" and in mode Delphi they use "record helper". They can also be used on constants.
|
12 роки тому |
Jonas Maebe
|
9cbff6f5a6
+ support for record constructors for the JVM target
|
12 роки тому |
Jonas Maebe
|
9145f1d67d
* integrated potype_constructor check in maybe_create_funcret_node
|
12 роки тому |
florian
|
cad1309935
* don't write directly to the function result destination if we are inlining and if the destination is too complex to evaluate (threadvar etc.)
|
12 роки тому |
paul
|
b2a613c17f
compiler: implement record constructors + tests
|
12 роки тому |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
12 роки тому |
florian
|
329257d76e
* check for empty procedures after helper test so even empty helper methods cannot be called directly
|
12 роки тому |
florian
|
24f518f232
+ redirect calls to empty virtual methods to FPC_EMPTYMETHOD
|
12 роки тому |
florian
|
4d6471fef6
* get rid of calls to empty procedures having parameters without side effect
|
12 роки тому |
Jonas Maebe
|
d9e67fc835
* don't add a separate high parameter for array-of-const parameters on the
|
12 роки тому |
svenbarth
|
2db54da2b3
m68k also uses a non fixed stack with an equivalent to PUSH/POP so don't reorder parameters
|
12 роки тому |
Jonas Maebe
|
f5de7e34d3
* only remove the calculation of unused parameters of inline routines if
|
13 роки тому |
florian
|
1cd6f2355b
* don't copy const parameters passed by reference even if their complexity is >1,
|
13 роки тому |
Jonas Maebe
|
f3ad4af343
* make sure valid_for_assign() returns false for inlined function bodies
|
13 роки тому |
florian
|
bd47ba6ba4
* the address of complex inline parameters can be hold always in a register
|
13 роки тому |
florian
|
5b90a02e75
* inherit nf_write/nf_modify in tcallnode.replaceparaload also when replacing parameters
|
13 роки тому |
florian
|
2c122a9bf6
* inherit modification flag from load nodes when creating temp nodes when inlining, dfa/cse need this information
|
13 роки тому |
florian
|
4d86d25c6c
* -O4 switch for optimizations which are correct but which might have unexpected effects
|
13 роки тому |
Jonas Maebe
|
b50d0aa3d0
* only don't pre-finalize funcret temps that are passed by reference to the
|
13 роки тому |
Jonas Maebe
|
3414f91590
* minor reformatting, and removed superfluous assigned test (the value is
|
13 роки тому |
Jonas Maebe
|
9412d4abd2
* add a reference to the procsym corresponding to the chosen overloaded
|
13 роки тому |
florian
|
af7bb6faab
* ignore unused parameters when inlining
|
13 роки тому |
Jonas Maebe
|
baa8fa39a8
* converted code to trash variables (-gt) to operate at the node tree level,
|
13 роки тому |
florian
|
6c8eed21c4
+ implement auto inlining (-Ooautoinline)
|
13 роки тому |
Jonas Maebe
|
834026bfb5
* synchronised with trunk up to r21067
|
13 роки тому |
sergei
|
04ca8a9126
* translate_disp_call: improved building the parameter block by using ttemprefnode.create_offset instead of taking address/pointer additions/dereference. Results in simpler node tree and lesser CPU instructions generated.
|
13 роки тому |