Differences/Changes from Previous Loader


Summary of main changes

KEY - Routines withdrawn: LOAD, FINDENTRY, GETUNSATREF, LOADCOMMAND, LOADFILE, UNLOAD, EXTENDSESSIONDIRECTORY. - New routines/facilities: LOADPARM, DATASPACE, ALIASENTRY, RESETLOADER, LOADEDENTRIES, LOADEDFILES, CURRENTREFS, EXECUTE, USEFOR (all at user level). LOOKLOADED, SEARCH, LOADEP, LOADENTITY, CASCADELOAD, MINLOAD, LOADFILE2, UNLOAD2, CURRENTLL, LOADDUMP, BDIRLIST (at system level). - Search order for directories altered. Subsystem base directory is now searched before the searchdir list (but after the active dir) instead of being searched last. - Concept of LOADLEVEL introduced. - Loader supports dynamic data references. - Store mapping for FORTRAN/PASCAL etc. supported. - PRELOADing fully supported. - Session directory disappears, replaced by set of loader tables. - Subsystem entries and Director system call list made shareable. - Enhanced monitoring facilities. - Run time parms for the loader now controlled and set by LOADPARM. - LOADPARM(MIN) will only load those files necessary to run regardless of what compiler parms were set. - No limit on number of bound files which can be simultaneously loaded. - Any reference which arises to an item which is currently loaded is satisfied immediately. - If a command is typed at command level then the loader will first look for an entry point of that name. If none is found then the assumption will be made that the command is in fact a filename and an attempt will be made to connect it. If successful then if the file is an object file with a main entry point then it will be entered. If the file is a character file then OBEYJOB will be called with the filename as a parameter. No action will be taken if neither of these conditions apply. Following from the above then object files with main entry points can be run by simply typing the filename which contains the main entry, i.e. at command level RUN(PROGY) and PROGY will have the same result.

Suggested replacement routines

KEY The following are suggested replacement routines for the most commonly used system routines in the old loader. Software can interrogate the subsystem to discover which loader is running by examining the value of UINFI(26) - a value of 0 means that the old loader is running. All the new loader routines except LOOKLOADED require as a parameter the 'local loadlevel'. A call on the system function CURRENTLL, described in the loader system interface, will give the current value of this variable. This is the value which should be supplied unless 'permanent' loading is required, in which case the value is 0. This topic is discussed at greater length in the 'Technical Aspects' and 'System Interface' sections.
FINDENTRY -> If only interested in material already loaded then LOOKLOADED else SEARCH for complete search LOAD -> LOADEP LOADCOMMAND -> LOADEP LOADFILE -> LOADFILE2 MODDIRFILE -> If used to modify session directory then no replacement since no session directory, otherwise MODDIRFILE. UNLOAD -> UNLOAD2