If the r-code directory is full when loading additional r-code from any source, OpenEdge can reuse existing directory entries for any r-code files no longer in use.
To reuse an r-code directory entry, OpenEdge performs the following steps:
1. Identifies the least recently used (LRU) r-code directory entry.
2. Frees the LRU r-code directory entry.
3. Frees all of the segment descriptor entries in the segment descriptor table for the LRU r-code directory entry.
4. When reusing a standard r-code directory entry, OpenEdge removes all r-code segments for the LRU r-code file from both the execution buffer and the r-code swap file. When reusing a memory-mapped r-code directory entry, the memory-mapped r-code file remains mapped in shared memory.
When OpenEdge needs to reload standard r-code, it follows the standard execution sequence. When OpenEdge needs to reload memory-mapped r-code, it follows the memory-mapped execution sequence.