The sources of the Free Pascal compiler, RTL, packages and utilities. See https://www.freepascal.org/ for more info.
Go to file
Jonas Maebe 2cea723a0d * only write the parts of the unit localsymtables that are actually needed:
the defs and syms (recursively) referred by inline routines and by the WPO
    info
   o defs and syms are no longer added immediately to the module's deflist/
     symlist, even if they are created as "registered". Instead,
     "doregister=true" simply means "add it to the symbol table at the
     top of the symtable stack"
   o normally only when a sym/def is deref'ed, it gets added to the module
     symlist/deflist and defid/symid gets a (unique) value
   o in cases where we use(d) the defid to construct unique names within the
     current module, you now have to call call the tdef.new unique_id_str()
     method. If the def was not yet registered, we will reserve room for it
     in the deflist (to get a unique id), but the defid gets set to a
     negative value computed from its position in the deflist. Should it
     have to be written to the ppu file later on, the defid will be
     modified to the actual position in the deflist. For both values,
     new unique_id_str() will return the same result so that references
     to this def before and after actual registrations are the same (needed
     for the JVM backend, but also a good principle in general)

   Overall: don't directly use symid/defid anymore to get unique identifiers,
     but use tdef.new unique_id_str() instead (if necessary, a similar routine
     for tsym can be added)

   The result is the ppu file size gets reduced significantly after its big
   increase as a result of the high level typed constant builder (which creates
   a lot of defs). The result is even more efficient than before, as other
   unneeded defs/syms from the localsymtables don't get saved/restored anymore
   either.

git-svn-id: trunk@32153 -
2015-10-25 19:22:00 +00:00
compiler * only write the parts of the unit localsymtables that are actually needed: 2015-10-25 19:22:00 +00:00
ide * Fixed problem with search-masks in fpmake.pp-files in subdirectories 2015-10-24 22:09:06 +00:00
installer * correction of a duplicate GTK1 sources reference 2015-10-12 22:01:57 +00:00
packages * Add include files to fpmake.pp 2015-10-25 16:29:23 +00:00
rtl * moved excepth.inc include from the system unit implementation to interface 2015-10-25 19:21:54 +00:00
tests * tinterlockedmt test: Reduced the thread count. 2015-10-25 17:35:36 +00:00
utils * pas2jni: Detect the default units path. 2015-10-17 20:36:29 +00:00
.gitattributes + fixed the emitting of non-nil far and huge pointer constptrs in typed 2015-10-24 20:25:49 +00:00
.gitignore * Removed empty tests directory from svn 2014-11-08 15:47:53 +00:00
fpmake_add1.inc
fpmake_proc1.inc
fpmake.pp
Makefile * regenerated makefiles after adding the win16 target 2015-09-05 11:02:54 +00:00
Makefile.fpc * regenerated makefiles after adding the win16 target 2015-09-05 11:02:54 +00:00