Jonas Maebe
|
a76bbf363d
* synchronised with trunk r29513
|
10 年之前 |
florian
|
1178fdc98f
* force objects and records only into memory if their address is passed, hint from Jonas, improves code after r29139
|
10 年之前 |
florian
|
854fa1d4b9
* force advanced records into memory when they are used as self, resolves #26075
|
11 年之前 |
sergei
|
bb1cec2474
* tcgcallparanode.secondcallparan: factored a complex condition into variable.
|
11 年之前 |
Jonas Maebe
|
7e2d4fb29e
* fixed type used to load the code pointer of a complex procvar
|
11 年之前 |
nickysn
|
0f9e8f84bb
* tcgcallnode.pass_generate_code: pass the correct vmt pointer type parameter to
|
11 年之前 |
Jonas Maebe
|
904a033ba2
* factored out the code for loading a procvar address, and fixed all used
|
11 年之前 |
Jonas Maebe
|
bd09b88a5b
+ support for http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
|
11 年之前 |
Jonas Maebe
|
d8394fc89c
* call fpc_iocheck via hlcg.g_call_system_proc()
|
11 年之前 |
Jonas Maebe
|
bacd303208
* synchronized with trunk up to r27758
|
11 年之前 |
Jonas Maebe
|
5fa09fa2f4
* changed tcallnode.fforcedprocname from shortstring into tsymstr,
|
11 年之前 |
Jonas Maebe
|
73a3f5ced4
* moved ncgutil.maybechangeloadnodereg() to hlcg.maybe_change_load_node_reg()
|
11 年之前 |
Jonas Maebe
|
84442d05f9
* renamed fobjcforcedprocname to fforcedprocname and also use it for the
|
11 年之前 |
Jonas Maebe
|
752b6739a8
* properly handle address and temp registers in return locations
|
11 年之前 |
Jonas Maebe
|
81427523ab
* pass a list of (pointers to) the paralocs to hlcgobj.a_call/g_call*, as
|
11 年之前 |
Jonas Maebe
|
f629f38bbc
- removed unused local variable
|
11 年之前 |
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.
|
11 年之前 |
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.
|
11 年之前 |
sergei
|
e0082262cc
* Don't generate VMT checking code twice (gen_load_vmt_register generates it already).
|
11 年之前 |
sergei
|
ff3fe06af9
* Changed condition around declaration of 'cgpara' to be the same as around its usage.
|
11 年之前 |
svenbarth
|
235c06ab34
Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) )
|
12 年之前 |
nickysn
|
1029636dfe
* far proc fixes in tcgcallnode.pass_generate_code
|
12 年之前 |
nickysn
|
ed92dee3fb
* fixed the calling of virtual methods on i8086
|
12 年之前 |
Jonas Maebe
|
8b8a786823
* moved ARM/x86 ifdef'ed code from ncgcal to virtual methods
|
12 年之前 |
Jonas Maebe
|
4daa40f480
* reorder register parameters to minimise the number of register conflicts,
|
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 年之前 |
svenbarth
|
7bad1763b8
Decrease amount of code duplication regarding handling of safecall and record constructors.
|
12 年之前 |
Jonas Maebe
|
10e3cab1b1
* fixed formatting
|
12 年之前 |
paul
|
5d74e0578a
compiler: remove unused variables and unneeded assignments
|
12 年之前 |
paul
|
b2a613c17f
compiler: implement record constructors + tests
|
12 年之前 |