Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 years ago |
nickysn
|
ac5658470e
+ use the 16-bit movsx and movzx instructions on 386+ in tcg8086.a_load_ref_reg
|
9 years ago |
nickysn
|
a5f1ae97d4
+ make use of the 16-bit movsx and movzx instructions in tcg8086.a_load_reg_reg
|
9 years ago |
nickysn
|
c78f406d99
+ implemented proper stack checking for the i8086
|
9 years ago |
pierre
|
40193ea1db
Add pi_has_open_array_parameter to proc_info.flags as this requires special handling for i8086 huge memory model to restore DS register correctly
|
9 years ago |
Jonas Maebe
|
d440daf47f
* fixed compilation with -Oodfa/-O3
|
9 years ago |
nickysn
|
09218c88aa
+ optimizations in tcg8086.g_flags2reg for the case where the carry flag or the
|
9 years ago |
nickysn
|
b26e10d53c
+ generate proper win16 prologue/epilogue for exported routines (we don't yet
|
10 years ago |
nickysn
|
bdfd23cc2e
+ new target switch "FarProcsPushOddBP", which causes the i8086 compiler to push
|
10 years ago |
nickysn
|
a1d29b8251
* always pop DS in huge memory models in asm routines that don't specify
|
10 years ago |
nickysn
|
98ec7a2211
* eliminated the dual initialization of DS in interrupt procedures in the huge
|
10 years ago |
nickysn
|
0fdc62e0f7
+ initialize DS with the current unit's data segment in the function entry code
|
10 years ago |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 years ago |
florian
|
35a04ad095
* modified patch of Paul W to replace leave by mov/pop, resolves #26455
|
10 years ago |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 years ago |
Jonas Maebe
|
a637fbe596
* moved all g_exception_*() methods to hlcgobj and cleaned them up (no more
|
11 years ago |
nickysn
|
791cd932fd
+ support i8086 far data memory models in tcg8086.g_intf_wrapper
|
11 years ago |
nickysn
|
906d828ee0
* tcg8086.g_copyvaluepara_openarray: fix for the case where ref.segment is
|
11 years ago |
nickysn
|
c9c29a3cd4
+ ignore the source segment, when the destination cgpara is a near pointer in
|
11 years ago |
nickysn
|
c9f8703679
+ set ref.segment to NR_SS for all temps/localvars on i8086. This allows the
|
11 years ago |
nickysn
|
bf6ad0ff78
* fixed tcg8086.g_flags2reg, so it behaves the same way as tcgx86.g_flags2reg
|
11 years ago |
sergei
|
98de3c4e40
* tcg8086.g_flags2reg: call virtual method a_jmp_flags instead of duplicating its functionality, it prevents further changes to this method when adding support for unordered comparison results.
|
11 years ago |
nickysn
|
6fe362a1b0
+ added method is_far to i8086's tcpuprocdef and tcpuprocvardef
|
11 years ago |
nickysn
|
9da1ee0138
* i8086 far data model fixes in the copying of openarray value params
|
11 years ago |
nickysn
|
0a9f738167
+ tcg8086.g_copyvaluepara_openarray: support source to be in a different segment
|
11 years ago |
nickysn
|
1f8280e8f1
* load the destination segment in tcg8086.g_copyvaluepara_openarray from SS
|
11 years ago |
nickysn
|
122f66b11a
+ support passing far addresses in tcg8086.a_loadaddr_ref_cgpara
|
11 years ago |
sergei
|
9c54cdc85d
* x86: Cleaned out addr_far,addr_far_ref used to encode far calls/jumps. NASM (and FPC x86 assembler based on it) already have opsize=S_FAR for this purpose.
|
11 years ago |
nickysn
|
b672bc754a
- rm references to system_i386_darwin and system_i386_iphonesim from
|
11 years ago |
nickysn
|
a31b7d485f
* tcg8086.init_register_allocator: instantiate trgintcpu instead of trgcpu for
|
11 years ago |