sergei
|
beeb85f11c
* Don't force CORBA (unmanaged) interfaces to be returned in parameter. All managed types including Variant and COM interfaces are already checked by handle_common_ret_in_param, superfluous checks removed.
|
10 years ago |
Károly Balogh
|
9991ee4165
m68k: support loading of refs to data registers, also when explicit paraloc is set and it's a register, use that directly, this fixes several syscall-related corner cases on Amiga
|
11 years ago |
nickysn
|
d8d35a32c9
- rm bogus ifdef cpu16bitalu from tparamanager.allocparaloc and .freecgpara
|
11 years ago |
nickysn
|
9321d9916d
* use voidpointer.size instead of sizeof(pint) in tparamanager.push_size in
|
11 years ago |
sergei
|
6ea9ce1077
* Force managed types to be always returned in parameters, independent of target (primitive types were already handled that way; the patch affects small records with fields of managed types).
|
11 years ago |
sergei
|
f42c1b3720
* Return dynamic arrays in parameter, this was the only managed type still returned in register. Returning managed types in registers requires catching and re-raising exceptions at callee side in order to finalize result and avoid memory leaks. While such behavior makes little difference with generic setjmp-based exception handling, it becomes very inefficient as SEH-styled exception handling is being introduced.
|
11 years ago |
svenbarth
|
235c06ab34
Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) )
|
11 years ago |
Jonas Maebe
|
7f2750f188
* missing part of r24776, using a build server also has pitfalls :/
|
12 years ago |
Jonas Maebe
|
9938169d2c
* don't use the paracgsize in get_paraloc_def(), because it generally
|
12 years ago |
Jonas Maebe
|
7566ddcc8f
* add a tdef to each parameter location and set it for all target
|
12 years ago |
sergei
|
4714dc2218
+ paramgr.pas: provide generic implementation of getintparaloc(). Once this method has been changed to use the procdef, it can reuse 'regular' parameter locations created by create_paraloc_info, so separate cpu-specific implementations of getintparaloc are no longer necessary.
|
12 years ago |
nickysn
|
6b2f59c3e0
+ preparations for returning int64 in ax:bx:cx:dx on i8086
|
12 years ago |
Jonas Maebe
|
2b78bb1674
- removed ppc-specific tcgpara.composite field, it's no longer used or
|
12 years ago |
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 years ago |
svenbarth
|
7bad1763b8
Decrease amount of code duplication regarding handling of safecall and record constructors.
|
12 years ago |
paul
|
b2a613c17f
compiler: implement record constructors + tests
|
12 years ago |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
12 years ago |
Jonas Maebe
|
69c29a415f
* pass the procdef to getintparaloc instead of only the proccalloption, so
|
12 years ago |
Jonas Maebe
|
3eb527b532
* make use_fixed_stack for i386 more generic (any target with more than
|
12 years ago |
Jonas Maebe
|
d9e67fc835
* don't add a separate high parameter for array-of-const parameters on the
|
12 years ago |
pierre
|
42586baa34
Use SUPPORT_SAFECALL conditional
|
13 years ago |
Jonas Maebe
|
0a1157da38
* fixed memory leaks in the compiler introduced in r21862 by marking and
|
13 years ago |
Jonas Maebe
|
7a0ae38700
+ also specify the parameter def when allocating a parameter via
|
13 years ago |
Jonas Maebe
|
587244c088
* factored out common code from get_funcretloc()
|
13 years ago |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
13 years ago |
Jonas Maebe
|
dc70db9402
* parameter passing support for AIX:
|
13 years ago |
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.
|
13 years ago |
pierre
|
b6de7f0d6b
* Suppress Comaprison might be always false if first_mm_imreg is zero
|
13 years ago |
Jonas Maebe
|
c9537e3347
+ support for non-array/record var parameter on the JVM target using
|
14 years ago |
Jonas Maebe
|
2c313e397e
+ support for regular arrays and open arrays
|
14 years ago |