Group: memory management
Topic: compiler
Topic: dynamic code modification
Topic: incremental compilation
Topic: intermediate representation of code
Topic: just-in-time compilation
Topic: load-time code generation
Topic: memory management for programs and modules
Topic: programming with a database of modules
Topic: software maintenance by patching
Topic: system builds
Topic: Thesa compiler and loader
| |
Subtopic: linkers
Quote: the assembly subroutine combined a master routine with subroutines, generated subroutine calls, and resolved input data; seldom used [»wilkMV_1951]
| Quote: transform a library subroutine into its final form on loading [»wheeDJ6_1949]
| Quote: Oberon's loader transforms modules into executable code by linking object code files on disk [»wirtN9_1989]
| Quote: Oberon allocates imported modules but does not load them; delayed loading on first call by paging; supports larger systems [»wirtN9_1989]
| Subtopic: incremental linkers
Quote: traditional compiler/linkers generate many output files; not needed for dynamic code generation [»franM3_1997]
| Quote: with incremental loading or faster processor speeds, on-the-fly code generation may be as fast as a loader
| Quote: portable interface for modifying instruction space; e.g., for incremental linking; handles machine-dependent issues such as instruction caching [»keppD4_1991]
| Subtopic: feedback linker
Quote: use a feedback linker to reduce the size of binary delta files; does not modify 4-26% of the 4Kbyte pages [»vonpC6_2006]
| Quote: use delta images for updating embedded software; in-place update [»vonpC6_2006]
| Subtopic: separate compilation
Quote: lcc.NET is a C compiler under MSIL; does not include setjump, longjmp, and some function pointers; required a new MSIL linker for static initialization and separate compilation; problems with address arithmetic [»hansDR3_2004]
| Subtopic: metadata
Quote: PL.8 generated type metadata for every external variable; used for link edit and load-time type checking [»auslM6_1982]
| Subtopic: type-safe dynamic linking
Quote: dynamic linking of verifiable native code in Typed Assembly Language (TAL); allows type-safe, dynamic linking; comparable performance to the standard ELF implementation [»hickM9_2000]
| Subtopic: remotely-loaded code
Quote: remotely-loaded code may have security flaws. For example, Java has many security flaws such as covert channels and lacking a formal security policy [»deanD5_1996]
| Quote: a language for remotely-loaded code should have a safe type system, garbage-collection, and carefully managed system calls
| Quote: Limbo programs are byte codes for the Dis virtual machine with garbage collection and task scheduling [»dorwSM1_1997]
| Subtopic: explicit loader
Quote: Limbo programs load modules explicitly: simplifies garbage collection, provides better control, allows multiple implementations [»dorwSM1_1997]
| Quote: the 'load' operator takes a module type and the filename of an implementation. It checks that the implementation matches the type
| Quote: a Limbo program can load different implementations of a module; e.g., load a GIF implementation of an image file [»dorwSM1_1997]
| Subtopic: class loaders
Quote: class loaders--lazy loading, type-safe linkage, multiple namespaces, user extensibility [»lianS10_1998]
| Quote: class loaders in Java locate an implementation for a class by its textual name; e.g., locate a handler for a new MIME type by its name [»goslJ6_1997]
| Subtopic: fields
Note: type includes a list of fields, created by 'Field of Type'; compute offsets on load [»cbb_2000, OK]
| Subtopic: fast compiler
QuoteRef: hoarCA_1972 ;;338 compiler as fast as linker loader, also efficiency and security
| Subtopic: internal representations
Quote: a C-- executable consists of C-- modules, a large front-end run-time library, and a small C-- run-time system for suspended computations [»ramsN6_2000]
| Subtopic: linking as persistent functions
Quote: use persistent functions for program linking [»atkiMP6_1987]
| Subtopic: line numbers
Quote: can encode line numbers into a frequently used operation code; then determine the current line number by scanning the object code [»klinP10_1979, OK]
| Subtopic: definition as executable
Note: use compiled code as disk format; IDs expanded to text as needed [»cbb_1990, OK]
| Subtopic: history
Quote: a linking segment subprogram is a relocatable binary with symbolic references and arrays; a linking loader combines these subprograms and resolves references [»mccaJ7_1963]
| Quote: Corbato and Daggett's linking loader allowed patches in symbolic machine language [»mccaJ7_1963]
| Quote: AED compilation produces merbes by merging merbes and vocabulary merbes; merbes have a parameter header and code with parameter substitution; can create new vocabulary merbe [»rossDT5_1964]
| Quote: execute a program one allocation unit at a time; load into memory on use [»holtAW10_1961]
| Quote: use relocatable code for library subroutines; allows mechanical copying of subroutines [»wilkMV_1951]
|
Related Topics
Group: memory management (11 topics, 367 quotes)
Topic: compiler (18 items)
Topic: dynamic code modification (15 items)
Topic: incremental compilation (3 items)
Topic: intermediate representation of code (31 items)
Topic: just-in-time compilation (20 items)
Topic: load-time code generation (13 items)
Topic: memory management for programs and modules (12 items)
Topic: programming with a database of modules (94 items)
Topic: software maintenance by patching (27 items)
Topic: system builds (43 items)
Topic: Thesa compiler and loader (23 items)
|