peter 
							
						 
					 
					
						
						
						
						
							
						
						
							70fe77ca7c 
							
						 
					 
					
						
						
							
							* procinfo unit contains tprocinfo  
						
						 
						
						... 
						
						
						
						* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles 
						
					 
					
						2003-10-01 20:34:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							540691bf02 
							
						 
					 
					
						
						
							
							* optimized releasing of registers  
						
						 
						
						
						
					 
					
						2003-09-29 20:58:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c6f0a5fb0e 
							
						 
					 
					
						
						
							
							* fix allocation of threadvar parameter  
						
						 
						
						
						
					 
					
						2003-09-28 21:46:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							99bb20747e 
							
						 
					 
					
						
						
							
							* parent framepointer changed to hidden parameter  
						
						 
						
						... 
						
						
						
						* tloadparentfpnode added 
						
					 
					
						2003-09-28 17:55:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							d77cf79d3b 
							
						 
					 
					
						
						
							
							* optimized releasing of registers  
						
						 
						
						
						
					 
					
						2003-09-28 13:39:38 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ab3d323e5b 
							
						 
					 
					
						
						
							
							* rearranged threadvar code so the result register is the same  
						
						 
						
						... 
						
						
						
						for the relocated and address loaded variables 
						
					 
					
						2003-09-25 21:27:31 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8af51ea6d3 
							
						 
					 
					
						
						
							
							* locals and paras are allocated in the code generation  
						
						 
						
						... 
						
						
						
						* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure 
						
					 
					
						2003-09-23 17:56:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							76a53a375d 
							
						 
					 
					
						
						
							
							* varspez in calls to push_addr_param  
						
						 
						
						
						
					 
					
						2003-09-16 16:17:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							9311d0803d 
							
						 
					 
					
						
						
							
							* save destroyed registers when calling threadvar helper  
						
						 
						
						
						
					 
					
						2003-09-14 12:57:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								marco 
							
						 
					 
					
						
						
						
						
							
						
						
							cd5ae5fcc3 
							
						 
					 
					
						
						
							
							* Patch from Peter for paraloc  
						
						 
						
						
						
					 
					
						2003-09-10 08:31:47 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6a8d5eb25d 
							
						 
					 
					
						
						
							
							* NEWRA branch merged  
						
						 
						
						
						
					 
					
						2003-09-03 15:55:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							220e05dd5e 
							
						 
					 
					
						
						
							
							* fixed arm concatcopy  
						
						 
						
						... 
						
						
						
						+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ... 
						
					 
					
						2003-09-03 11:18:36 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							81d4cc15c7 
							
						 
					 
					
						
						
							
							* Fixed the fixed trouble  
						
						 
						
						
						
					 
					
						2003-08-20 20:13:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							78ee625c7e 
							
						 
					 
					
						
						
							
							* Fixed some R_NO trouble  
						
						 
						
						
						
					 
					
						2003-08-20 20:11:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							66fcf33869 
							
						 
					 
					
						
						
							
							* fix for threadvars with -dnewra  
						
						 
						
						
						
					 
					
						2003-07-20 16:26:43 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							32d076480b 
							
						 
					 
					
						
						
							
							* framepointer fixes for sparc  
						
						 
						
						... 
						
						
						
						* parent framepointer code more generic 
						
					 
					
						2003-07-06 17:58:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							acb3078279 
							
						 
					 
					
						
						
							
							* newra fix for threadvars  
						
						 
						
						
						
					 
					
						2003-07-06 15:25:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							3bbea08997 
							
						 
					 
					
						
						
							
							* fixed register allocation for threadvar loads with newra  
						
						 
						
						
						
					 
					
						2003-06-15 15:13:12 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0dceec9a64 
							
						 
					 
					
						
						
							
							* current_procdef removed, use current_procinfo.procdef instead  
						
						 
						
						
						
					 
					
						2003-06-13 21:19:30 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a0b9306652 
							
						 
					 
					
						
						
							
							* newra compiles for sparc  
						
						 
						
						
						
					 
					
						2003-06-12 16:43:07 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							dab8ab29cc 
							
						 
					 
					
						
						
							
							* fixed regvar optimization for call_by_reference parameters (no need  
						
						 
						
						... 
						
						
						
						to load address in another register) 
						
					 
					
						2003-06-09 16:41:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8e09d78f79 
							
						 
					 
					
						
						
							
							+ ability to change the location of a ttempref node with changelocation()  
						
						 
						
						... 
						
						
						
						method. Useful to use instead of copying the contents from one temp to
    another
  + some shortstring optimizations in tassignmentnode that avoid some
    copying (required some shortstring optimizations to be moved from
    resulttype to firstpass, because they work on callnodes and string
    addnodes are only changed to callnodes in the firstpass)
  * allow setting/changing the funcretnode of callnodes after the
    resulttypepass has been done, funcretnode is now a property
  (all of the above should have a quite big effect on callparatemp) 
						
					 
					
						2003-06-08 18:27:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							edb2179730 
							
						 
					 
					
						
						
							
							+ 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 
						
					 
					
						2003-06-07 18:57:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							d91c880148 
							
						 
					 
					
						
						
							
							* cg.a_load_* get a from and to size specifier  
						
						 
						
						... 
						
						
						
						* makeregsize only accepts newregister
  * i386 uses generic tcgnotnode,tcgunaryminus 
						
					 
					
						2003-06-03 21:11:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							41e0bc4cec 
							
						 
					 
					
						
						
							
							* Register allocator finished  
						
						 
						
						
						
					 
					
						2003-06-03 13:01:59 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							414bd5fa22 
							
						 
					 
					
						
						
							
							* more sparc cleanup  
						
						 
						
						... 
						
						
						
						* accumulator removed, splitted in function_return_reg (called) and
    function_result_reg (caller) 
						
					 
					
						2003-05-30 23:57:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							31db518df3 
							
						 
					 
					
						
						
							
							* forgot to commit, a_load_loc_reg change  
						
						 
						
						
						
					 
					
						2003-05-30 23:54:08 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0799b0663d 
							
						 
					 
					
						
						
							
							* generic fpc_shorstr_concat  
						
						 
						
						... 
						
						
						
						+ fpc_shortstr_append_shortstr optimization 
						
					 
					
						2003-05-26 19:38:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d321a5aa3d 
							
						 
					 
					
						
						
							
							* fixed framepointer storage: it's now always stored at r1+12, which is  
						
						 
						
						... 
						
						
						
						a place in the link area reserved for compiler use. 
						
					 
					
						2003-05-24 11:47:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8ff5792776 
							
						 
					 
					
						
						
							
							* remove some unit dependencies  
						
						 
						
						... 
						
						
						
						* current_procinfo changes to store more info 
						
					 
					
						2003-05-23 14:27:35 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8acf67d327 
							
						 
					 
					
						
						
							
							* fixed (last?) remaining -tvarsym(X).address to  
						
						 
						
						... 
						
						
						
						tg.direction*tvarsym(X).address... 
						
					 
					
						2003-05-12 17:22:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							26d78ff5c9 
							
						 
					 
					
						
						
							
							* moved implicit exception frame from ncgutil to psub  
						
						 
						
						... 
						
						
						
						* constructor/destructor helpers moved from cobj/ncgutil to psub 
						
					 
					
						2003-05-11 21:37:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							15b0132f6f 
							
						 
					 
					
						
						
							
							* tloadnode does not support objectsymtable,withsymtable anymore  
						
						 
						
						... 
						
						
						
						* withnode cleanup
  * direct with rewritten to use temprefnode 
						
					 
					
						2003-05-11 14:45:12 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								michael 
							
						 
					 
					
						
						
						
						
							
						
						
							cf68b27bb9 
							
						 
					 
					
						
						
							
							+ Patch from peter to fix wrong pushing of ansistring function results in open array  
						
						 
						
						
						
					 
					
						2003-04-29 07:28:52 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							7f14891d66 
							
						 
					 
					
						
						
							
							* aktprocdef cleanup, aktprocdef 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 
						
					 
					
						2003-04-27 07:29:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f4b818fc1d 
							
						 
					 
					
						
						
							
							* removed funcretn,funcretsym, function result is now in varsym  
						
						 
						
						... 
						
						
						
						and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode 
						
					 
					
						2003-04-25 20:59:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c21ca3dfa0 
							
						 
					 
					
						
						
							
							+ added currency support based on int64  
						
						 
						
						... 
						
						
						
						+ is_64bit for use in cg units instead of is_64bitint
  * removed cgmessage from n386add, replace with internalerrors 
						
					 
					
						2003-04-23 20:16:03 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e258c7bf84 
							
						 
					 
					
						
						
							
							* allow multi pass2 changed to global boolean instead of node flag  
						
						 
						
						
						
					 
					
						2003-04-23 10:12:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							47489f2376 
							
						 
					 
					
						
						
							
							* firstpass uses expectloc  
						
						 
						
						... 
						
						
						
						* checks if there are differences between the expectloc and
    location.loc from secondpass in EXTDEBUG 
						
					 
					
						2003-04-22 23:50:22 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								olle 
							
						 
					 
					
						
						
						
						
							
						
						
							a069aadad0 
							
						 
					 
					
						
						
							
							* changed newasmsymbol to newasmsymboldata for data symbols  
						
						 
						
						
						
					 
					
						2003-04-06 21:11:23 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							86bcea6ef5 
							
						 
					 
					
						
						
							
							* Code generator converted to new register notation  
						
						 
						
						... 
						
						
						
						- Horribily outdated todo.txt removed 
						
					 
					
						2003-02-19 22:00:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							55a161bbbf 
							
						 
					 
					
						
						
							
							* Tregister changed into a record  
						
						 
						
						
						
					 
					
						2003-01-08 18:43:56 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a0fbe08d83 
							
						 
					 
					
						
						
							
							* remove a lot of code to support typen in loadn-procsym  
						
						 
						
						
						
					 
					
						2003-01-05 22:44:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b994d689a3 
							
						 
					 
					
						
						
							
							* fixes for fpu values in arrayconstructor  
						
						 
						
						
						
					 
					
						2002-12-20 18:13:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1b116848d8 
							
						 
					 
					
						
						
							
							* cdecl array of const fixes  
						
						 
						
						
						
					 
					
						2002-11-27 20:04:38 +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