nickysn
|
e107eaea28
* a slight optimization in the MsDos routine (mov al instead of ax)
|
12 vuotta sitten |
nickysn
|
ff5091cfb8
* do not save bx, cx, si and di in the msdos and intr functions, as preserving them isn't required for the pascal calling convention
|
12 vuotta sitten |
florian
|
926dd1b41e
* command line compilation of i8086 fixed
|
12 vuotta sitten |
nickysn
|
5ed1222e64
* changed the default i8086 calling convention to pocall_pascal
|
12 vuotta sitten |
florian
|
709ba5e053
+ introduce cnf_call_never_returns to signal the dfa if a call node never returns
|
12 vuotta sitten |
nickysn
|
57777945a8
* fixed bug in thlcgobj.g_array_rtti_helper introduced in the previous commit
|
12 vuotta sitten |
nickysn
|
a5c5b05362
* initial support for system procs that use calling conventions that push left to right on i8086 or i386
|
12 vuotta sitten |
nickysn
|
5caadbbc40
+ added method tabstractprocdef.is_pushleftright that exists on all platforms and returns whether parameters must be loaded left to right
|
12 vuotta sitten |
nickysn
|
51d61cc593
* define the i8086 default calling convention separately from the other x86 architectures
|
12 vuotta sitten |
nickysn
|
7e18ac90e5
* the 'len' argument of fpc_shortstr_assign changed to smallint on 16-bit cpus, because getintparaloc allocates 16-bit ints on i8086
|
12 vuotta sitten |
nickysn
|
5f5402f479
* changed ifdef, so that HandleErrorAddrFrame uses the default calling convention on i8086 (whatever that may be), instead of register
|
12 vuotta sitten |
nickysn
|
28c05c1ed5
* document the fact that ti8086paramanager.getintparaloc allocates a 16-bit parameter, and not a 32-bit one
|
12 vuotta sitten |
nickysn
|
1312fd72f2
* tmoddivnode.pass_typecheck: in the case of unsigned div/mod positive_const, check also the upper bound of the const, so it doesn't get truncated
|
12 vuotta sitten |
nickysn
|
fef3732884
* i8086 compilation fixes
|
12 vuotta sitten |
nickysn
|
3152df6e7f
* fixed bugs in tx86inlinenode, introduced in r24237
|
12 vuotta sitten |
nickysn
|
8ce2f0c56b
- rm the i386 specific code from ti8086paramanager.ret_in_param
|
12 vuotta sitten |
nickysn
|
c916105db8
- rm ti8086procinfo.allocate_got_register as it isn't used on the i8086
|
12 vuotta sitten |
nickysn
|
97ca0fa323
- removed ti8086inlinenode.second_round_real, second_trunc_real and load_fpu_location as they mostly repeat the code in tx86inlinenode.load_fpu_location; tx86inlinenode.load_fpu_location adapted for i8086 instead
|
12 vuotta sitten |
nickysn
|
3870f76cda
* ncgutil: set pushexceptaddr_frametype_cgsize and setjmp_result_cgsize according to cpu16bitaddr, instead of cpu16bitalu
|
12 vuotta sitten |
nickysn
|
107a6f6552
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
|
12 vuotta sitten |
nickysn
|
70a0d2989c
* fixed tmoddivnode.pass_typecheck on 64-bit CPUs; I was wrong about uint64 div uint64 producing int64 on 64-bit CPUs; this fixes make cycle on e.g. x86_64
|
12 vuotta sitten |
nickysn
|
f84fc17edc
+ implemented a timeout in the dosbox wrapper, so that we don't wait forever if a test hangs
|
12 vuotta sitten |
nickysn
|
3c6df5bedc
* use is_nativeuint() in ninl.get_str_int_func(), instead of the ifdef sequence
|
12 vuotta sitten |
nickysn
|
7a15fd0444
* in the case of (uint8 div/mod small_positive_const), convert the const to unsigned, so that we don't do a 16-bit division on 8-bit CPUs
|
12 vuotta sitten |
nickysn
|
3558766390
* first attempt to simplify tmoddivnode.pass_typecheck handling of all cpu native int sizes
|
12 vuotta sitten |
nickysn
|
0dcbb4f1cc
* refactored tunaryplusnode.pass_typecheck as well
|
12 vuotta sitten |
nickysn
|
a3117beb12
* refactored tunaryminusnode.pass_typecheck to handle all native int sizes generically, without ifdefs
|
12 vuotta sitten |
nickysn
|
0473cbf70f
* refactored the add node type check pass to handle all native integer sizes with the same common code, without ifdefs
|
12 vuotta sitten |
nickysn
|
2486009d37
+ support u64bit as well in defutil.range_to_basetype
|
12 vuotta sitten |
nickysn
|
59976c3ac8
* use FixNonCommutativeOpcodes in agx86int.pas as well (fixes compilation for i386)
|
12 vuotta sitten |