mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 10:19:31 +01:00 
			
		
		
		
	
				When a function returns a managed record, a new temporary object is created for the result, which is then copied to the real destination. For managed records with a deep copy implementation, this can create immense overhead. So instead this introduces a move, which basically consists of ```pascal procedure Move(var src, dst); begin Finalize(dst); // Finalize existing data Move(src,dst,sizeof(dst)); // Shallow copy Initialize(src); // Clear source ``` * nld.pas: use MOVE when assigning the function result from the temporary return object * rtl/inc/systemh.pas: Adding new macro to mark new RTTI version with MOVE operation * rtl/inc/compproc.inc, rtl/inc/rtti.inc: Adding new move mechanism when indicated by the compiler.  | 
			||
|---|---|---|
| .. | ||
| jastringh.inc | ||
| jastrings.inc | ||
| java_sys.inc | ||
| java_sysh.inc | ||
| jcompproc.inc | ||
| jdk15.inc | ||
| jdk15.pas | ||
| jdynarr.inc | ||
| jdynarrh.inc | ||
| jpvar.inc | ||
| jpvarh.inc | ||
| jrec.inc | ||
| jrech.inc | ||
| jset.inc | ||
| jseth.inc | ||
| jsstringh.inc | ||
| jsstrings.inc | ||
| jsystem.inc | ||
| jsystemh_types.inc | ||
| jsystemh.inc | ||
| jtcon.inc | ||
| jtconh.inc | ||
| jtvar.inc | ||
| jtvarh.inc | ||
| justringh.inc | ||
| justrings.inc | ||
| jwin2javacharset.inc | ||
| Makefile | ||
| Makefile.fpc | ||
| objpas.inc | ||
| objpas.pp | ||
| objpash.inc | ||
| rtl.cfg | ||
| rtldefs.inc | ||
| rtti.inc | ||
| rttih.inc | ||
| sysos.inc | ||
| sysosh.inc | ||
| sysres.inc | ||
| system.pp | ||