florian
|
0e41df598e
* merge i8086 branch by Nikolay Nikolov
|
12 anni fa |
nickysn
|
a5c5b05362
* initial support for system procs that use calling conventions that push left to right on i8086 or i386
|
12 anni fa |
sergei
|
d54d38b4ab
* Moved all code responsible for writing VMTs and interface wrappers (nobj.TVMTWriter, ncgutil.gen_intf_wrappers, ptype.write_persistent_type_info) into a new unit ncgvmt.pas.
|
12 anni fa |
nickysn
|
3870f76cda
* ncgutil: set pushexceptaddr_frametype_cgsize and setjmp_result_cgsize according to cpu16bitaddr, instead of cpu16bitalu
|
12 anni fa |
florian
|
075abd6220
+ support of stackframesize for arm thumb
|
12 anni fa |
florian
|
43b6139b66
+ setlocalloc resets currentregloc
|
12 anni fa |
florian
|
364f170765
* cosmetic formatting changes
|
12 anni fa |
nickysn
|
1e28790e99
* fpc_PushExceptAddr's parameter Ft changed from LongInt to SmallInt on 16-bit CPUs for better efficiency
|
12 anni fa |
nickysn
|
f38114b34b
* the result of FPC_SETJMP changed to 16-bit int on 16-bit CPUs
|
12 anni fa |
nickysn
|
8d2b7df6d6
* fixed functions returning longint on i8086
|
12 anni fa |
sergei
|
5e46732bc8
+ One more missing call to unget_para (MIPS-specific)
|
12 anni fa |
sergei
|
54aefb1ba0
* gen_load_cgpara_loc, MIPS-specific: added missing calls to unget_para, and disabled part that loads upper and lower halves of Double values from integer registers. It produces invalid code, but that's hidden by MIPS code generator copying all parameters to stack (so this code is never executed).
|
12 anni fa |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
12 anni fa |
Jonas Maebe
|
69c29a415f
* pass the procdef to getintparaloc instead of only the proccalloption, so
|
12 anni fa |
florian
|
4f30ac0247
* put records with 16 bytes size into two register on 64 bit targets if possible
|
12 anni fa |
florian
|
c781f21a46
* records with two times the size of a register can be kept in registers
|
12 anni fa |
florian
|
04543b179f
o merge of the branch laksen/arm-embedded of Jeppe Johansen:
|
13 anni fa |
svenbarth
|
8e07ddb2bc
* made internal errors for M68K unique
|
13 anni fa |
pierre
|
be5839e44a
Add warning/error message about possible problems with nostackframe modifier
|
13 anni fa |
Jeppe Johansen
|
8b17a358e4
Remove all traces of the interrupt vector table generation mechanism
|
13 anni fa |
pierre
|
4b7a6ecc14
move currentregloc setting to ncgutil to avoid sysym unit ependency in aasmtai unit
|
13 anni fa |
pierre
|
fcaff0489c
* psub.pas : translate tregister for registerhi also
|
13 anni fa |
Jonas Maebe
|
944c1172ee
* implementation of fix from r22376 without using introspection
|
13 anni fa |
Jonas Maebe
|
1219797d94
* support LOC_(C)SUBSETREG/REF in gen_load_vmt_register() (mantis #22869)
|
13 anni fa |
pierre
|
fd844d08e0
Avoid wrong typecast in DoReplace function as revealed by extcycle
|
13 anni fa |
florian
|
d93cee995b
* fix register method pointer for ppc64 and x86_64-linux
|
13 anni fa |
florian
|
7361e19799
+ support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers
|
13 anni fa |
florian
|
7901662eb3
+ mark method pointers as regable
|
13 anni fa |
florian
|
d8161c185c
+ track usage of flags by using a new register RS_/NR_DEFAULTFLAGS
|
13 anni fa |
Jonas Maebe
|
288d1ec74a
* support referencing "result" in nostackframe pure assembler routines if
|
13 anni fa |