peter 
							
						 
					 
					
						
						
						
						
							
						
						
							abca40f041 
							
						 
					 
					
						
						
							
							* regvar fixes  
						
						
						
					 
					
						2003-05-16 14:33:31 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							92ee1804b6 
							
						 
					 
					
						
						
							
							* removed selfpointer_offset, vmtpointer_offset  
						
						... 
						
						
						
						* tvarsym.adjusted_address
  * address in localsymtable is now in the real direction
  * removed some obsolete globals 
						
					 
					
						2003-05-15 18:58:53 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							91bbc7bea3 
							
						 
					 
					
						
						
							
							* error when address of an abstract method is taken  
						
						... 
						
						
						
						* fixed some x86-64 problems
  * merged some more x86-64 and i386 code 
						
					 
					
						2003-04-30 20:53:32 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							60978ba89c 
							
						 
					 
					
						
						
							
							* aktprocdef renamed to current_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 
						
					 
					
						2003-04-27 11:21:32 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							9e2084b8d5 
							
						 
					 
					
						
						
							
							* Further register allocator work. Compiler now smaller with new  
						
						... 
						
						
						
						allocator than without.
  * Somebody forgot to adjust ppu version number 
						
					 
					
						2003-04-23 14:42:07 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							7677b18770 
							
						 
					 
					
						
						
							
							* Removed usage of edi in a lot of places when new register allocator used  
						
						... 
						
						
						
						+ Added newra versions of g_concatcopy and secondadd_float 
						
					 
					
						2003-04-23 09:51:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e248c0ece4 
							
						 
					 
					
						
						
							
							* fixed C style array of const  
						
						... 
						
						
						
						* fixed C array passing
  * fixed left to right with high parameters 
						
					 
					
						2003-04-22 13:47:08 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							25059e21b6 
							
						 
					 
					
						
						
							
							+ Implemented the actual register allocator  
						
						... 
						
						
						
						+ Scratch registers unavailable when new register allocator used
  + maybe_save/maybe_restore unavailable when new register allocator used 
						
					 
					
						2003-04-22 10:09:34 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							0c93e261e7 
							
						 
					 
					
						
						
							
							* Added some code to keep track of move instructions in register  
						
						... 
						
						
						
						allocator 
						
					 
					
						2003-04-17 16:48:21 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c4ddcc78a8 
							
						 
					 
					
						
						
							
							* generic constructor working for i386  
						
						... 
						
						
						
						* remove fixed self register
  * esi added as address register for i386 
						
					 
					
						2003-03-28 19:16:56 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							864736747f 
							
						 
					 
					
						
						
							
							* reg2opsize()  
						
						
						
					 
					
						2003-03-18 18:17:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e8a0c0cd62 
							
						 
					 
					
						
						
							
							* and more new register allocator fixes (in the i386 code generator this  
						
						... 
						
						
						
						time). At least now the ppc cross compiler can compile the linux
    system unit again, but I haven't tested it. 
						
					 
					
						2003-03-13 19:52:23 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							390ae3e2b1 
							
						 
					 
					
						
						
							
							* Fixed ie 200301234 problem on Win32 target  
						
						
						
					 
					
						2003-02-27 16:40:32 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							18ab545cb7 
							
						 
					 
					
						
						
							
							* Fixed the optimizer  
						
						
						
					 
					
						2003-02-26 21:15:43 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							86bcea6ef5 
							
						 
					 
					
						
						
							
							* Code generator converted to new register notation  
						
						... 
						
						
						
						- Horribily outdated todo.txt removed 
						
					 
					
						2003-02-19 22:00:14 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							dc14489292 
							
						 
					 
					
						
						
							
							* Fixed another 200301081  
						
						
						
					 
					
						2003-01-21 10:41:13 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							509618b646 
							
						 
					 
					
						
						
							
							* Fixed internalerror  
						
						
						
					 
					
						2003-01-13 23:00:18 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							cbe0383afe 
							
						 
					 
					
						
						
							
							* Further work to convert codegenerator register convention;  
						
						... 
						
						
						
						internalerror bug fixed. 
						
					 
					
						2003-01-13 14:54:34 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							7b2fd10fb4 
							
						 
					 
					
						
						
							
							* Converted some code in cgx86.pas to new register numbering  
						
						
						
					 
					
						2003-01-09 20:40:59 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							55a161bbbf 
							
						 
					 
					
						
						
							
							* Tregister changed into a record  
						
						
						
					 
					
						2003-01-08 18:43:56 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b59b436130 
							
						 
					 
					
						
						
							
							* x86-64 compiles  
						
						... 
						
						
						
						+ very basic support for float128 type (x86-64 only) 
						
					 
					
						2003-01-05 13:36:53 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a51ce770c2 
							
						 
					 
					
						
						
							
							* align stack on 4 bytes in copyvalueopenarray  
						
						
						
					 
					
						2003-01-02 16:17:50 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							af98b48c22 
							
						 
					 
					
						
						
							
							* stackpointer_alloc added for adjusting ESP. Win32 needs  
						
						... 
						
						
						
						this for the pageprotection 
						
					 
					
						2002-12-24 15:56:50 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							6a52e7a9e5 
							
						 
					 
					
						
						
							
							- removed the invalid if <> checking (Delphi is strange on this)  
						
						... 
						
						
						
						+ implemented abstract warning on instance creation of class with
    abstract methods.
 * some error message cleanups 
						
					 
					
						2002-11-25 18:43:31 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f3fc72095f 
							
						 
					 
					
						
						
							
							* 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 
						
					 
					
						2002-11-25 17:43:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a496dbe1ff 
							
						 
					 
					
						
						
							
							* pass proccalloption to ret_in_xxx and push_xxx functions  
						
						
						
					 
					
						2002-11-18 17:31:54 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							7c0f175681 
							
						 
					 
					
						
						
							
							* flags2reg() was not extending the byte register to the correct result size  
						
						
						
					 
					
						2002-11-09 21:18:31 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							83dae76625 
							
						 
					 
					
						
						
							
							+ $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 
						
					 
					
						2002-10-16 19:01:43 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							67486c96c3 
							
						 
					 
					
						
						
							
							* fixes for Delphi 6 compilation  
						
						... 
						
						
						
						(warning : Some features do not work under Delphi) 
						
					 
					
						2002-10-05 12:43:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a15d8cfe39 
							
						 
					 
					
						
						
							
							* 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. 
						
					 
					
						2002-09-17 18:54:01 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							51057d8e8e 
							
						 
					 
					
						
						
							
							* support references without registers and symbol in paramref_addr. It  
						
						... 
						
						
						
						pushes only the offset 
						
					 
					
						2002-09-16 19:08:47 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6dffb25562 
							
						 
					 
					
						
						
							
							* move CGSize2Opsize to interface  
						
						
						
					 
					
						2002-09-16 18:06:29 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a4e309d6ae 
							
						 
					 
					
						
						
							
							* removevaluepara added to fix the stackpointer so restoring of  
						
						... 
						
						
						
						saved registers works 
						
					 
					
						2002-09-01 14:42:41 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							7898dcf9ed 
							
						 
					 
					
						
						
							
							+ a_call_reg, a_call_loc added  
						
						... 
						
						
						
						* removed exprasmlist references 
						
					 
					
						2002-09-01 12:09:27 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e313bab4ff 
							
						 
					 
					
						
						
							
							* first part of procinfo rewrite  
						
						
						
					 
					
						2002-08-17 09:23:33 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							745efb2c47 
							
						 
					 
					
						
						
							
							* 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 
						
					 
					
						2002-08-16 14:24:57 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							c33d99adb7 
							
						 
					 
					
						
						
							
							- a_load_sym_ofs_reg removed  
						
						... 
						
						
						
						* loadvmt now calls loadaddr_ref_reg instead 
						
					 
					
						2002-08-15 08:13:54 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							425bb45ddc 
							
						 
					 
					
						
						
							
							* renamed current_library to objectlibrary  
						
						
						
					 
					
						2002-08-11 14:32:25 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ac71268ce6 
							
						 
					 
					
						
						
							
							* 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 
						
					 
					
						2002-08-11 13:24:10 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							c7aefd286b 
							
						 
					 
					
						
						
							
							* fixed stupid bug of mine in g_flags2reg() when optimizations are on  
						
						
						
					 
					
						2002-08-10 10:06:04 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							50537e95fc 
							
						 
					 
					
						
						
							
							* fix generic exception handling  
						
						
						
					 
					
						2002-08-09 19:18:27 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							4d03ffdf46 
							
						 
					 
					
						
						
							
							+ updated exception routines  
						
						
						
					 
					
						2002-08-04 19:52:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							6b83738e7d 
							
						 
					 
					
						
						
							
							+ generic implementation of tcg.g_flags2ref()  
						
						... 
						
						
						
						* tcg.flags2xxx() now also needs a size parameter 
						
					 
					
						2002-07-27 19:53:51 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							eb2ca8d10f 
							
						 
					 
					
						
						
							
							* rewrote the system handling  
						
						
						
					 
					
						2002-07-26 21:15:37 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							6cb82a2c8f 
							
						 
					 
					
						
						
							
							* fixed bug in op_const_reg_reg() for imul  
						
						
						
					 
					
						2002-07-21 16:55:34 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d88d2ed099 
							
						 
					 
					
						
						
							
							* splitting of i386\cgcpu.pas into x86\cgx86.pas and i386\cgcpu.pas  
						
						... 
						
						
						
						cgx86.pas will contain the common code for i386 and x86_64 
						
					 
					
						2002-07-20 19:28:47 +00:00