Jonas Maebe
|
146e3bcb9e
* synchronised with trunk till r29513
|
před 10 roky |
Jonas Maebe
|
e97f31541e
- reverted partial commit of merge
|
před 10 roky |
Jonas Maebe
|
a76bbf363d
* synchronised with trunk r29513
|
před 10 roky |
florian
|
1178fdc98f
* force objects and records only into memory if their address is passed, hint from Jonas, improves code after r29139
|
před 10 roky |
florian
|
854fa1d4b9
* force advanced records into memory when they are used as self, resolves #26075
|
před 11 roky |
sergei
|
bb1cec2474
* tcgcallparanode.secondcallparan: factored a complex condition into variable.
|
před 11 roky |
nickysn
|
0f9e8f84bb
* tcgcallnode.pass_generate_code: pass the correct vmt pointer type parameter to
|
před 11 roky |
Jonas Maebe
|
bd09b88a5b
+ support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
|
před 11 roky |
Jonas Maebe
|
5fa09fa2f4
* changed tcallnode.fforcedprocname from shortstring into tsymstr,
|
před 11 roky |
Jonas Maebe
|
73a3f5ced4
* moved ncgutil.maybechangeloadnodereg() to hlcg.maybe_change_load_node_reg()
|
před 11 roky |
Jonas Maebe
|
84442d05f9
* renamed fobjcforcedprocname to fforcedprocname and also use it for the
|
před 11 roky |
sergei
|
9c1f917e3a
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
|
před 11 roky |
sergei
|
7104157a57
* Changed tabstractprocdef.address_size to return the def, which can be used to get other properties like size and alignment. Removes one of i8086 ifdef's.
|
před 11 roky |
sergei
|
e0082262cc
* Don't generate VMT checking code twice (gen_load_vmt_register generates it already).
|
před 11 roky |
sergei
|
ff3fe06af9
* Changed condition around declaration of 'cgpara' to be the same as around its usage.
|
před 11 roky |
svenbarth
|
235c06ab34
Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) )
|
před 12 roky |
nickysn
|
1029636dfe
* far proc fixes in tcgcallnode.pass_generate_code
|
před 12 roky |
nickysn
|
ed92dee3fb
* fixed the calling of virtual methods on i8086
|
před 12 roky |
Jonas Maebe
|
8b8a786823
* moved ARM/x86 ifdef'ed code from ncgcal to virtual methods
|
před 12 roky |
Jonas Maebe
|
4daa40f480
* reorder register parameters to minimise the number of register conflicts,
|
před 12 roky |
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.
|
před 12 roky |
svenbarth
|
7bad1763b8
Decrease amount of code duplication regarding handling of safecall and record constructors.
|
před 12 roky |
Jonas Maebe
|
10e3cab1b1
* fixed formatting
|
před 12 roky |
paul
|
5d74e0578a
compiler: remove unused variables and unneeded assignments
|
před 12 roky |
paul
|
b2a613c17f
compiler: implement record constructors + tests
|
před 12 roky |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
před 12 roky |
Jonas Maebe
|
69c29a415f
* pass the procdef to getintparaloc instead of only the proccalloption, so
|
před 12 roky |
pierre
|
7ea11f0171
Use SUPPORT_SAFECALL conditional
|
před 13 roky |
florian
|
67744ef46e
* fix methodpointers in registers on big endian targets
|
před 13 roky |
florian
|
4514a55ec6
* call method pointers located in registers correctly
|
před 13 roky |