|
@@ -2174,7 +2174,10 @@ finalization
|
|
|
end.
|
|
|
{
|
|
|
$Log$
|
|
|
- Revision 1.165 2004-06-16 20:07:07 florian
|
|
|
+ Revision 1.166 2004-06-20 08:55:28 florian
|
|
|
+ * logs truncated
|
|
|
+
|
|
|
+ Revision 1.165 2004/06/16 20:07:07 florian
|
|
|
* dwarf branch merged
|
|
|
|
|
|
Revision 1.164 2004/05/22 23:34:27 peter
|
|
@@ -2189,589 +2192,4 @@ end.
|
|
|
Revision 1.161.2.17 2004/06/13 10:51:16 florian
|
|
|
* fixed several register allocator problems (sparc/arm)
|
|
|
|
|
|
- Revision 1.161.2.16 2004/06/02 16:07:00 peter
|
|
|
- * fixed op64_reg_reg_reg to not override src when src=dst
|
|
|
-
|
|
|
- Revision 1.161.2.15 2004/05/30 17:54:13 florian
|
|
|
- + implemented cmp64bit
|
|
|
- * started to fix spilling
|
|
|
- * fixed int64 sub partially
|
|
|
-
|
|
|
- Revision 1.161.2.14 2004/05/30 12:07:54 florian
|
|
|
- * fixed loading/saving of exception reason for CPUs where RETURN and RESULT registers of functions are differently named
|
|
|
-
|
|
|
- Revision 1.161.2.13 2004/05/27 23:36:18 peter
|
|
|
- * nostackframe procdirective added
|
|
|
-
|
|
|
- Revision 1.161.2.12 2004/05/10 21:28:34 peter
|
|
|
- * section_smartlink enabled for gas under linux
|
|
|
-
|
|
|
- Revision 1.161.2.11 2004/05/03 19:06:34 peter
|
|
|
- * fixed range checking
|
|
|
-
|
|
|
- Revision 1.161.2.10 2004/05/02 20:20:59 florian
|
|
|
- * started to fix callee side result value handling
|
|
|
-
|
|
|
- Revision 1.161.2.9 2004/05/02 12:45:32 peter
|
|
|
- * enabled cpuhasfixedstack for x86-64 again
|
|
|
- * fixed size of temp allocation for parameters
|
|
|
-
|
|
|
- Revision 1.161.2.8 2004/05/01 16:02:09 peter
|
|
|
- * POINTER_SIZE replaced with sizeof(aint)
|
|
|
- * aint,aword,tconst*int moved to globtype
|
|
|
-
|
|
|
- Revision 1.161.2.7 2004/05/01 11:12:23 florian
|
|
|
- * spilling of registers with size<>4 fixed
|
|
|
-
|
|
|
- Revision 1.161.2.6 2004/04/28 21:46:22 peter
|
|
|
- * fix 1.0.x bootstrap of maxaint
|
|
|
-
|
|
|
- Revision 1.161.2.5 2004/04/27 18:18:25 peter
|
|
|
- * aword -> aint
|
|
|
-
|
|
|
- Revision 1.161.2.4 2004/04/26 16:09:16 peter
|
|
|
- * fixed infinite loop with 64bit rangecheck
|
|
|
-
|
|
|
- Revision 1.161.2.3 2004/04/26 15:54:33 peter
|
|
|
- * small x86-64 fixes
|
|
|
-
|
|
|
- Revision 1.161.2.2 2004/04/24 20:13:24 florian
|
|
|
- * fixed x86-64 exception handling
|
|
|
-
|
|
|
- Revision 1.161.2.1 2004/04/18 16:55:37 peter
|
|
|
- * procedure entry and exit code restructured, some x86 specific
|
|
|
- things are removed from the generic ncgutil code and moved to
|
|
|
- the target depend cg.g_proc_entry and cg.g_proc_exit that now
|
|
|
- contain all the code during startup including stackframe allocation
|
|
|
- only the saving of registers is excluded from this code
|
|
|
-
|
|
|
- Revision 1.161 2004/03/06 20:35:19 florian
|
|
|
- * fixed arm compilation
|
|
|
- * cleaned up code generation for exported linux procedures
|
|
|
-
|
|
|
- Revision 1.160 2004/03/02 00:36:33 olle
|
|
|
- * big transformation of Tai_[const_]Symbol.Create[data]name*
|
|
|
-
|
|
|
- Revision 1.159 2004/02/27 10:21:05 florian
|
|
|
- * top_symbol killed
|
|
|
- + refaddr to treference added
|
|
|
- + refsymbol to treference added
|
|
|
- * top_local stuff moved to an extra record to save memory
|
|
|
- + aint introduced
|
|
|
- * tppufile.get/putint64/aint implemented
|
|
|
-
|
|
|
- Revision 1.158 2004/02/20 22:16:34 florian
|
|
|
- * handling of float parameters passed in mm registers fixed
|
|
|
-
|
|
|
- Revision 1.157 2004/02/12 15:54:03 peter
|
|
|
- * make extcycle is working again
|
|
|
-
|
|
|
- Revision 1.156 2004/02/08 18:08:59 jonas
|
|
|
- * fixed regvars support. Needs -doldregvars to activate. Only tested with
|
|
|
- ppc, other processors should however only require maxregvars and
|
|
|
- maxfpuregvars constants in cpubase.pas. Remember to take scratch-
|
|
|
- registers into account when defining that value.
|
|
|
-
|
|
|
- Revision 1.155 2004/02/04 22:01:13 peter
|
|
|
- * first try to get cpupara working for x86_64
|
|
|
-
|
|
|
- Revision 1.154 2004/02/03 22:32:53 peter
|
|
|
- * renamed xNNbittype to xNNinttype
|
|
|
- * renamed registers32 to registersint
|
|
|
- * replace some s32bit,u32bit with torddef([su]inttype).def.typ
|
|
|
-
|
|
|
- Revision 1.153 2004/01/31 17:45:17 peter
|
|
|
- * Change several $ifdef i386 to x86
|
|
|
- * Change several OS_32 to OS_INT/OS_ADDR
|
|
|
-
|
|
|
- Revision 1.152 2004/01/22 22:12:21 peter
|
|
|
- * g_finalize needs to reset to nil after decr_ref
|
|
|
- * support loadref in decr_ref reset to nil
|
|
|
-
|
|
|
- Revision 1.151 2004/01/21 22:13:20 peter
|
|
|
- * decrrefcount resets temps to nil
|
|
|
-
|
|
|
- Revision 1.150 2004/01/21 21:01:34 peter
|
|
|
- * fixed stackchecking for register calling
|
|
|
-
|
|
|
- Revision 1.149 2004/01/20 12:59:36 florian
|
|
|
- * common addnode code for x86-64 and i386
|
|
|
-
|
|
|
- Revision 1.148 2004/01/12 22:11:38 peter
|
|
|
- * use localalign info for alignment for locals and temps
|
|
|
- * sparc fpu flags branching added
|
|
|
- * moved powerpc copy_valye_openarray to generic
|
|
|
-
|
|
|
- Revision 1.147 2004/01/11 23:56:19 daniel
|
|
|
- * Experiment: Compress strings to save memory
|
|
|
- Did not save a single byte of mem; clearly the core size is boosted by
|
|
|
- temporary memory usage...
|
|
|
-
|
|
|
- Revision 1.146 2003/12/26 14:02:30 peter
|
|
|
- * sparc updates
|
|
|
- * use registertype in spill_register
|
|
|
-
|
|
|
- Revision 1.145 2003/12/26 13:19:16 florian
|
|
|
- * rtl and compiler compile with -Cfsse2
|
|
|
-
|
|
|
- Revision 1.144 2003/12/24 00:10:02 florian
|
|
|
- - delete parameter in cg64 methods removed
|
|
|
-
|
|
|
- Revision 1.143 2003/12/23 14:38:07 florian
|
|
|
- + second_floataddsse implemented
|
|
|
-
|
|
|
- Revision 1.142 2003/12/22 19:00:17 florian
|
|
|
- * fixed some x86-64 issues
|
|
|
-
|
|
|
- Revision 1.141 2003/12/21 19:42:42 florian
|
|
|
- * fixed ppc inlining stuff
|
|
|
- * fixed wrong unit writing
|
|
|
- + added some sse stuff
|
|
|
-
|
|
|
- Revision 1.140 2003/12/15 21:39:39 florian
|
|
|
- * improved register allocation of generic a_param_const and a_param_ref
|
|
|
-
|
|
|
- Revision 1.139 2003/12/15 21:25:48 peter
|
|
|
- * reg allocations for imaginary register are now inserted just
|
|
|
- before reg allocation
|
|
|
- * tregister changed to enum to allow compile time check
|
|
|
- * fixed several tregister-tsuperregister errors
|
|
|
-
|
|
|
- Revision 1.138 2003/12/12 17:16:17 peter
|
|
|
- * rg[tregistertype] added in tcg
|
|
|
-
|
|
|
- Revision 1.137 2003/12/06 22:11:47 jonas
|
|
|
- + allocate volatile registers around calls to procedures declared with
|
|
|
- "saveregisters" on non-x86 processors
|
|
|
-
|
|
|
- Revision 1.136 2003/12/06 01:15:22 florian
|
|
|
- * reverted Peter's alloctemp patch; hopefully properly
|
|
|
-
|
|
|
- Revision 1.135 2003/12/03 23:13:19 peter
|
|
|
- * delayed paraloc allocation, a_param_*() gets extra parameter
|
|
|
- if it needs to allocate temp or real paralocation
|
|
|
- * optimized/simplified int-real loading
|
|
|
-
|
|
|
- Revision 1.134 2003/11/05 23:05:13 florian
|
|
|
- * elesize of g_copyvaluepara_openarray changed
|
|
|
- + g_releaesvaluepara_openarray added
|
|
|
-
|
|
|
- Revision 1.133 2003/10/19 01:34:30 florian
|
|
|
- * some ppc stuff fixed
|
|
|
- * memory leak fixed
|
|
|
-
|
|
|
- Revision 1.132 2003/10/17 15:25:18 florian
|
|
|
- * fixed more ppc stuff
|
|
|
-
|
|
|
- Revision 1.131 2003/10/17 14:38:32 peter
|
|
|
- * 64k registers supported
|
|
|
- * fixed some memory leaks
|
|
|
-
|
|
|
- Revision 1.130 2003/10/13 01:23:13 florian
|
|
|
- * some ideas for mm support implemented
|
|
|
-
|
|
|
- Revision 1.129 2003/10/11 16:06:42 florian
|
|
|
- * fixed some MMX<->SSE
|
|
|
- * started to fix ppc, needs an overhaul
|
|
|
- + stabs info improve for spilling, not sure if it works correctly/completly
|
|
|
- - MMX_SUPPORT removed from Makefile.fpc
|
|
|
-
|
|
|
- Revision 1.128 2003/10/10 17:48:13 peter
|
|
|
- * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
|
|
|
- * tregisteralloctor renamed to trgobj
|
|
|
- * removed rgobj from a lot of units
|
|
|
- * moved location_* and reference_* to cgobj
|
|
|
- * first things for mmx register allocation
|
|
|
-
|
|
|
- Revision 1.127 2003/10/09 21:31:37 daniel
|
|
|
- * Register allocator splitted, ans abstract now
|
|
|
-
|
|
|
- Revision 1.126 2003/10/01 20:34:48 peter
|
|
|
- * procinfo unit contains tprocinfo
|
|
|
- * cginfo renamed to cgbase
|
|
|
- * moved cgmessage to verbose
|
|
|
- * fixed ppc and sparc compiles
|
|
|
-
|
|
|
- Revision 1.125 2003/09/28 17:55:03 peter
|
|
|
- * parent framepointer changed to hidden parameter
|
|
|
- * tloadparentfpnode added
|
|
|
-
|
|
|
- Revision 1.124 2003/09/28 13:40:13 peter
|
|
|
- * a_call_ref removed
|
|
|
-
|
|
|
- Revision 1.123 2003/09/25 21:26:24 peter
|
|
|
- * remove obsolete tparalocation.sp_fixup
|
|
|
-
|
|
|
- Revision 1.122 2003/09/23 20:37:16 peter
|
|
|
- * fpc_check_object(_ext) has saveregisters and doesn't need
|
|
|
- saving of registers
|
|
|
-
|
|
|
- Revision 1.121 2003/09/10 08:31:47 marco
|
|
|
- * Patch from Peter for paraloc
|
|
|
-
|
|
|
- Revision 1.120 2003/09/09 20:59:27 daniel
|
|
|
- * Adding register allocation order
|
|
|
-
|
|
|
- Revision 1.119 2003/09/07 22:09:34 peter
|
|
|
- * preparations for different default calling conventions
|
|
|
- * various RA fixes
|
|
|
-
|
|
|
- Revision 1.118 2003/09/03 15:55:00 peter
|
|
|
- * NEWRA branch merged
|
|
|
-
|
|
|
- Revision 1.117 2003/09/03 11:18:36 florian
|
|
|
- * fixed arm concatcopy
|
|
|
- + arm support in the common compiler sources added
|
|
|
- * moved some generic cg code around
|
|
|
- + tfputype added
|
|
|
- * ...
|
|
|
-
|
|
|
- Revision 1.116.2.4 2003/08/29 17:28:59 peter
|
|
|
- * next batch of updates
|
|
|
-
|
|
|
- Revision 1.116.2.3 2003/08/28 18:35:07 peter
|
|
|
- * tregister changed to cardinal
|
|
|
-
|
|
|
- Revision 1.116.2.2 2003/08/27 20:23:55 peter
|
|
|
- * remove old ra code
|
|
|
-
|
|
|
- Revision 1.116.2.1 2003/08/27 19:55:54 peter
|
|
|
- * first tregister patch
|
|
|
-
|
|
|
- Revision 1.116 2003/08/17 16:59:20 jonas
|
|
|
- * fixed regvars so they work with newra (at least for ppc)
|
|
|
- * fixed some volatile register bugs
|
|
|
- + -dnotranslation option for -dnewra, which causes the registers not to
|
|
|
- be translated from virtual to normal registers. Requires support in
|
|
|
- the assembler writer as well, which is only implemented in aggas/
|
|
|
- agppcgas currently
|
|
|
-
|
|
|
- Revision 1.115 2003/07/23 11:01:14 jonas
|
|
|
- * several rg.allocexplicitregistersint/rg.deallocexplicitregistersint
|
|
|
- pairs round calls to helpers
|
|
|
-
|
|
|
- Revision 1.114 2003/07/06 17:58:22 peter
|
|
|
- * framepointer fixes for sparc
|
|
|
- * parent framepointer code more generic
|
|
|
-
|
|
|
- Revision 1.113 2003/07/02 22:18:04 peter
|
|
|
- * paraloc splitted in callerparaloc,calleeparaloc
|
|
|
- * sparc calling convention updates
|
|
|
-
|
|
|
- Revision 1.112 2003/06/13 21:19:30 peter
|
|
|
- * current_procdef removed, use current_procinfo.procdef instead
|
|
|
-
|
|
|
- Revision 1.111 2003/06/12 21:11:10 peter
|
|
|
- * ungetregisterfpu gets size parameter
|
|
|
-
|
|
|
- Revision 1.110 2003/06/12 16:43:07 peter
|
|
|
- * newra compiles for sparc
|
|
|
-
|
|
|
- Revision 1.109 2003/06/07 18:57:04 jonas
|
|
|
- + added freeintparaloc
|
|
|
- * ppc get/freeintparaloc now check whether the parameter regs are
|
|
|
- properly allocated/deallocated (and get an extra list para)
|
|
|
- * ppc a_call_* now internalerrors if pi_do_call is not yet set
|
|
|
- * fixed lot of missing pi_do_call's
|
|
|
-
|
|
|
- Revision 1.108 2003/06/06 14:43:02 peter
|
|
|
- * g_copyopenarrayvalue gets length reference
|
|
|
- * don't copy open arrays for cdecl
|
|
|
-
|
|
|
- Revision 1.107 2003/06/03 21:11:09 peter
|
|
|
- * cg.a_load_* get a from and to size specifier
|
|
|
- * makeregsize only accepts newregister
|
|
|
- * i386 uses generic tcgnotnode,tcgunaryminus
|
|
|
-
|
|
|
- Revision 1.106 2003/06/03 13:01:59 daniel
|
|
|
- * Register allocator finished
|
|
|
-
|
|
|
- Revision 1.105 2003/06/01 21:38:06 peter
|
|
|
- * getregisterfpu size parameter added
|
|
|
- * op_const_reg size parameter added
|
|
|
- * sparc updates
|
|
|
-
|
|
|
- Revision 1.104 2003/06/01 01:02:39 peter
|
|
|
- * generic a_call_ref
|
|
|
-
|
|
|
- Revision 1.103 2003/05/30 23:57:08 peter
|
|
|
- * more sparc cleanup
|
|
|
- * accumulator removed, splitted in function_return_reg (called) and
|
|
|
- function_result_reg (caller)
|
|
|
-
|
|
|
- Revision 1.102 2003/05/30 23:49:18 jonas
|
|
|
- * a_load_loc_reg now has an extra size parameter for the destination
|
|
|
- register (properly fixes what I worked around in revision 1.106 of
|
|
|
- ncgutil.pas)
|
|
|
-
|
|
|
- Revision 1.101 2003/05/30 21:40:00 jonas
|
|
|
- * fixed bug in a_load_loc_ref (the source instead of dest size was passed
|
|
|
- to a_load_reg_ref in case of a register)
|
|
|
-
|
|
|
- Revision 1.100 2003/05/30 12:36:13 jonas
|
|
|
- * use as little different registers on the ppc until newra is released,
|
|
|
- since every used register must be saved
|
|
|
-
|
|
|
- Revision 1.99 2003/05/23 14:27:35 peter
|
|
|
- * remove some unit dependencies
|
|
|
- * current_procinfo changes to store more info
|
|
|
-
|
|
|
- Revision 1.98 2003/05/15 18:58:53 peter
|
|
|
- * removed selfpointer_offset, vmtpointer_offset
|
|
|
- * tvarsym.adjusted_address
|
|
|
- * address in localsymtable is now in the real direction
|
|
|
- * removed some obsolete globals
|
|
|
-
|
|
|
- Revision 1.97 2003/05/13 19:14:41 peter
|
|
|
- * failn removed
|
|
|
- * inherited result code check moven to pexpr
|
|
|
-
|
|
|
- Revision 1.96 2003/05/11 21:37:03 peter
|
|
|
- * moved implicit exception frame from ncgutil to psub
|
|
|
- * constructor/destructor helpers moved from cobj/ncgutil to psub
|
|
|
-
|
|
|
- Revision 1.95 2003/05/09 17:47:02 peter
|
|
|
- * self moved to hidden parameter
|
|
|
- * removed hdisposen,hnewn,selfn
|
|
|
-
|
|
|
- Revision 1.94 2003/05/01 12:23:46 jonas
|
|
|
- * fix for op_reg_reg_reg in case the destination is the same as the first
|
|
|
- source register
|
|
|
-
|
|
|
- Revision 1.93 2003/04/29 07:28:52 michael
|
|
|
- + Patch from peter to fix wrong pushing of ansistring function results in open array
|
|
|
-
|
|
|
- Revision 1.92 2003/04/27 11:21:32 peter
|
|
|
- * aktprocdef renamed to current_procinfo.procdef
|
|
|
- * procinfo renamed to current_procinfo
|
|
|
- * procinfo will now be stored in current_module so it can be
|
|
|
- cleaned up properly
|
|
|
- * gen_main_procsym changed to create_main_proc and release_main_proc
|
|
|
- to also generate a tprocinfo structure
|
|
|
- * fixed unit implicit initfinal
|
|
|
-
|
|
|
- Revision 1.91 2003/04/27 07:29:50 peter
|
|
|
- * current_procinfo.procdef cleanup, current_procdef is now always nil when parsing
|
|
|
- a new procdef declaration
|
|
|
- * aktprocsym removed
|
|
|
- * lexlevel removed, use symtable.symtablelevel instead
|
|
|
- * implicit init/final code uses the normal genentry/genexit
|
|
|
- * funcret state checking updated for new funcret handling
|
|
|
-
|
|
|
- Revision 1.90 2003/04/26 20:57:17 florian
|
|
|
- * fixed para locations of fpc_class_new helper call
|
|
|
-
|
|
|
- Revision 1.89 2003/04/26 17:21:08 florian
|
|
|
- * fixed passing of fpu values by fpu register
|
|
|
-
|
|
|
- Revision 1.88 2003/04/23 20:16:03 peter
|
|
|
- + added currency support based on int64
|
|
|
- + is_64bit for use in cg units instead of is_64bitint
|
|
|
- * removed cgmessage from n386add, replace with internalerrors
|
|
|
-
|
|
|
- Revision 1.87 2003/04/23 14:42:07 daniel
|
|
|
- * Further register allocator work. Compiler now smaller with new
|
|
|
- allocator than without.
|
|
|
- * Somebody forgot to adjust ppu version number
|
|
|
-
|
|
|
- Revision 1.86 2003/04/23 13:20:34 peter
|
|
|
- * fix self passing to fpc_help_fail
|
|
|
-
|
|
|
- Revision 1.85 2003/04/23 12:35:34 florian
|
|
|
- * fixed several issues with powerpc
|
|
|
- + applied a patch from Jonas for nested function calls (PowerPC only)
|
|
|
- * ...
|
|
|
-
|
|
|
- Revision 1.84 2003/04/22 14:33:38 peter
|
|
|
- * removed some notes/hints
|
|
|
-
|
|
|
- Revision 1.83 2003/04/22 13:47:08 peter
|
|
|
- * fixed C style array of const
|
|
|
- * fixed C array passing
|
|
|
- * fixed left to right with high parameters
|
|
|
-
|
|
|
- Revision 1.82 2003/04/22 10:09:34 daniel
|
|
|
- + Implemented the actual register allocator
|
|
|
- + Scratch registers unavailable when new register allocator used
|
|
|
- + maybe_save/maybe_restore unavailable when new register allocator used
|
|
|
-
|
|
|
- Revision 1.81 2003/04/06 21:11:23 olle
|
|
|
- * changed newasmsymbol to newasmsymboldata for data symbols
|
|
|
-
|
|
|
- Revision 1.80 2003/03/28 19:16:56 peter
|
|
|
- * generic constructor working for i386
|
|
|
- * remove fixed self register
|
|
|
- * esi added as address register for i386
|
|
|
-
|
|
|
- Revision 1.79 2003/03/22 18:07:18 jonas
|
|
|
- + add used scratch registers to usedintbyproc for non-i386
|
|
|
-
|
|
|
- Revision 1.78 2003/03/11 21:46:24 jonas
|
|
|
- * lots of new regallocator fixes, both in generic and ppc-specific code
|
|
|
- (ppc compiler still can't compile the linux system unit though)
|
|
|
-
|
|
|
- Revision 1.77 2003/02/19 22:00:14 daniel
|
|
|
- * Code generator converted to new register notation
|
|
|
- - Horribily outdated todo.txt removed
|
|
|
-
|
|
|
- Revision 1.76 2003/01/31 22:47:48 peter
|
|
|
- * maybe_testself now really uses the passed register
|
|
|
-
|
|
|
- Revision 1.75 2003/01/30 21:46:35 peter
|
|
|
- * maybe_testvmt added
|
|
|
-
|
|
|
- Revision 1.74 2003/01/17 12:45:40 daniel
|
|
|
- * Fixed internalerror 200301081 problem
|
|
|
-
|
|
|
- Revision 1.73 2003/01/13 14:54:34 daniel
|
|
|
- * Further work to convert codegenerator register convention;
|
|
|
- internalerror bug fixed.
|
|
|
-
|
|
|
- Revision 1.72 2003/01/09 22:00:53 florian
|
|
|
- * fixed some PowerPC issues
|
|
|
-
|
|
|
- Revision 1.71 2003/01/09 20:41:10 florian
|
|
|
- * fixed broken PowerPC compiler
|
|
|
-
|
|
|
- Revision 1.70 2003/01/08 18:43:56 daniel
|
|
|
- * Tregister changed into a record
|
|
|
-
|
|
|
- Revision 1.69 2002/12/24 15:56:50 peter
|
|
|
- * stackpointer_alloc added for adjusting ESP. Win32 needs
|
|
|
- this for the pageprotection
|
|
|
-
|
|
|
- Revision 1.68 2002/12/20 18:14:04 peter
|
|
|
- * removed some runerror and writeln
|
|
|
-
|
|
|
- Revision 1.67 2002/12/14 15:02:03 carl
|
|
|
- * maxoperands -> max_operands (for portability in rautils.pas)
|
|
|
- * fix some range-check errors with loadconst
|
|
|
- + add ncgadd unit to m68k
|
|
|
- * some bugfix of a_param_reg with LOC_CREFERENCE
|
|
|
-
|
|
|
- Revision 1.66 2002/11/25 17:43:16 peter
|
|
|
- * splitted defbase in defutil,symutil,defcmp
|
|
|
- * merged isconvertable and is_equal into compare_defs(_ext)
|
|
|
- * made operator search faster by walking the list only once
|
|
|
-
|
|
|
- Revision 1.65 2002/11/17 16:27:31 carl
|
|
|
- * document flags2reg
|
|
|
-
|
|
|
- Revision 1.64 2002/11/16 17:06:28 peter
|
|
|
- * return error 210 for failed self test
|
|
|
-
|
|
|
- Revision 1.63 2002/11/15 01:58:46 peter
|
|
|
- * merged changes from 1.0.7 up to 04-11
|
|
|
- - -V option for generating bug report tracing
|
|
|
- - more tracing for option parsing
|
|
|
- - errors for cdecl and high()
|
|
|
- - win32 import stabs
|
|
|
- - win32 records<=8 are returned in eax:edx (turned off by default)
|
|
|
- - heaptrc update
|
|
|
- - more info for temp management in .s file with EXTDEBUG
|
|
|
-
|
|
|
- Revision 1.62 2002/10/16 19:01:43 peter
|
|
|
- + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
|
|
|
- implicit exception frames for procedures with initialized variables
|
|
|
- and for constructors. The default is on for compatibility
|
|
|
-
|
|
|
- Revision 1.61 2002/10/05 12:43:23 carl
|
|
|
- * fixes for Delphi 6 compilation
|
|
|
- (warning : Some features do not work under Delphi)
|
|
|
-
|
|
|
- Revision 1.60 2002/10/02 18:20:52 peter
|
|
|
- * Copy() is now internal syssym that calls compilerprocs
|
|
|
-
|
|
|
- Revision 1.59 2002/09/17 18:54:02 jonas
|
|
|
- * a_load_reg_reg() now has two size parameters: source and dest. This
|
|
|
- allows some optimizations on architectures that don't encode the
|
|
|
- register size in the register name.
|
|
|
-
|
|
|
- Revision 1.58 2002/09/09 19:29:29 peter
|
|
|
- * fixed dynarr_decr_ref call
|
|
|
-
|
|
|
- Revision 1.57 2002/09/07 15:25:01 peter
|
|
|
- * old logs removed and tabs fixed
|
|
|
-
|
|
|
- Revision 1.56 2002/09/01 21:04:47 florian
|
|
|
- * several powerpc related stuff fixed
|
|
|
-
|
|
|
- Revision 1.55 2002/09/01 17:05:43 florian
|
|
|
- + added abstract tcg.g_removevaluepara_openarray
|
|
|
-
|
|
|
- Revision 1.54 2002/09/01 12:09:27 peter
|
|
|
- + a_call_reg, a_call_loc added
|
|
|
- * removed exprasmlist references
|
|
|
-
|
|
|
- Revision 1.53 2002/08/19 18:17:48 carl
|
|
|
- + optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
|
|
|
- * more fixes to m68k for 64-bit operations
|
|
|
-
|
|
|
- Revision 1.52 2002/08/17 22:09:43 florian
|
|
|
- * result type handling in tcgcal.pass_2 overhauled
|
|
|
- * better tnode.dowrite
|
|
|
- * some ppc stuff fixed
|
|
|
-
|
|
|
- Revision 1.51 2002/08/17 09:23:33 florian
|
|
|
- * first part of procinfo rewrite
|
|
|
-
|
|
|
- Revision 1.50 2002/08/16 14:24:57 carl
|
|
|
- * issameref() to test if two references are the same (then emit no opcodes)
|
|
|
- + ret_in_reg to replace ret_in_acc
|
|
|
- (fix some register allocation bugs at the same time)
|
|
|
- + save_std_register now has an extra parameter which is the
|
|
|
- usedinproc registers
|
|
|
-
|
|
|
- Revision 1.49 2002/08/15 08:13:54 carl
|
|
|
- - a_load_sym_ofs_reg removed
|
|
|
- * loadvmt now calls loadaddr_ref_reg instead
|
|
|
-
|
|
|
- Revision 1.48 2002/08/14 19:26:02 carl
|
|
|
- + routine to optimize opcodes with constants
|
|
|
-
|
|
|
- Revision 1.47 2002/08/11 14:32:26 peter
|
|
|
- * renamed current_library to objectlibrary
|
|
|
-
|
|
|
- Revision 1.46 2002/08/11 13:24:11 peter
|
|
|
- * saving of asmsymbols in ppu supported
|
|
|
- * asmsymbollist global is removed and moved into a new class
|
|
|
- tasmlibrarydata that will hold the info of a .a file which
|
|
|
- corresponds with a single module. Added librarydata to tmodule
|
|
|
- to keep the library info stored for the module. In the future the
|
|
|
- objectfiles will also be stored to the tasmlibrarydata class
|
|
|
- * all getlabel/newasmsymbol and friends are moved to the new class
|
|
|
-
|
|
|
- Revision 1.45 2002/08/10 17:15:20 jonas
|
|
|
- * register parameters are now LOC_CREGISTER instead of LOC_REGISTER
|
|
|
-
|
|
|
- Revision 1.44 2002/08/09 19:10:05 carl
|
|
|
- - moved new_exception and free_exception to ncgutils
|
|
|
-
|
|
|
- Revision 1.43 2002/08/05 18:27:48 carl
|
|
|
- + more more more documentation
|
|
|
- + first version include/exclude (can't test though, not enough scratch for i386 :()...
|
|
|
-
|
|
|
- Revision 1.42 2002/08/04 19:08:21 carl
|
|
|
- + added generic exception support (still does not work!)
|
|
|
- + more documentation
|
|
|
-
|
|
|
- Revision 1.41 2002/07/30 20:50:43 florian
|
|
|
- * the code generator knows now if parameters are in registers
|
|
|
-
|
|
|
- Revision 1.40 2002/07/29 21:16:02 florian
|
|
|
- * some more ppc fixes
|
|
|
-
|
|
|
- Revision 1.39 2002/07/28 15:56:00 jonas
|
|
|
- + tcg64.a_op64_const_reg_reg() and tcg64.a_op64_reg_reg_reg() methods +
|
|
|
- generic implementation
|
|
|
-
|
|
|
- Revision 1.38 2002/07/27 19:53:51 jonas
|
|
|
- + generic implementation of tcg.g_flags2ref()
|
|
|
- * tcg.flags2xxx() now also needs a size parameter
|
|
|
-
|
|
|
- Revision 1.37 2002/07/20 11:57:53 florian
|
|
|
- * types.pas renamed to defbase.pas because D6 contains a types
|
|
|
- unit so this would conflicts if D6 programms are compiled
|
|
|
- + Willamette/SSE2 instructions to assembler added
|
|
|
-
|
|
|
-}
|
|
|
+}
|