m68k/cgcpu.pas, tcg68k:
+ override g_adjust_self_value as we don't do register allocation for the wrapper we need to adjust the Self value using the scratch registers (could be improved however) and we also can not use the offset that the original procedure in tcg uses
* fix g_intf_wrapper by using the correct operations and loading the correct (virtual) method offset
git-svn-id: trunk@25728 -
TModeInfo record for each mode, but instead keep only a pointer to the entry
in the regular ModeList. This frees a lot of memory on i8086-msdos, when using
the medium memory model (which has a 64kb data limit).
git-svn-id: trunk@25725 -
unit. It is extremely unlikely that this type was ever used by programs,
because:
1) the newModeInfo structure of this type is in the implementation part of
the unit
2) none of the graph unit procedures and functions use this type either as a
parameter or as a function result
git-svn-id: trunk@25724 -
* don't allow to apply the same hint directive twice
* change parser_e_proc_dir_not_allowed to more generic variant parser_e_dir_not_allowed - they are similar and 'procedure' prefix does not give more information about the error.
* maybe_parse_hint_directives() uses procdef settings for initial values
+ add tests
git-svn-id: trunk@25720 -
* fix maybe_parse_hint_directives() when it is called multiple times for a
procdef that has a deprecation message specified (fixes crashes
reported in #25101/#25165)
git-svn-id: trunk@25719 -
m68k/cgcpu.pas, tcg68k:
- remove g_save_registers and g_restore_registers which DID NOT CALL inherited!
- also remove commented methods g_save_all_registers & g_restore_all_registers
git-svn-id: trunk@25715 -
OP_OR or OP_XOR operation into two 16-bit parts, call a_op_const_reg/ref
recursively for the 16-bit parts, so certain optimizations can be done if the
low or high 16-bit of the const are $ffff.
git-svn-id: trunk@25703 -
- removed the ancient DEBUG_CHARLIE silliness... :)
- moved some repeated code patterns into separate functions
- rewrote most of of tcg68k.a_op_const_reg and tcg68k.a_op_reg_reg
- smarter code generation in tcg68k.a_cmp_const_reg_label
- added support for MULU/MULS on Coldfire in a case which is often used by the CG to index arrays to be used instead of the RTL helpers, this results in a *HUGE* speedup in tw5086 for example
git-svn-id: trunk@25702 -
called again immediately after the inline asm block via RealIntr and the exact same
operations are performed once again in Pascal (probably someone translated the inline
asm block to pascal, but forgot to remove it).
git-svn-id: trunk@25681 -