R-code execution environment

OpenEdge provides a dynamic environment for loading and executing r-code from operating system files, standard procedure libraries, memory-mapped procedure libraries, and archive libraries. This execution environment consists of the following components:

  • Execution buffer — The portion of local memory that OpenEdge allocates and uses to store the chain of loaded r-code segments for all standard r-code executing in local memory.
  • R-code swap file ( rcd ) — A file that OpenEdge uses to dynamically swap standard r-code segments in and out of the execution buffer.
  • Shared memory buffer — The portion of shared memory that the operating system allocates and uses to store and execute the r-code segments for all memory-mapped members.
  • Segment descriptor table — An in-memory table that references the r-code segments required by all executing r-code, including the location of each r-code segment in local or shared memory and usage count information.
  • R-code directory — An in-memory table that contains information about all r-code executing in local or shared memory, including r-code size, usage count, segment descriptions, and a reference to the segment descriptor table for each segment.

For more information about the r-code execution environment, see R-code Features and Functions.

OpenEdge loads and executes r-code in different ways, depending on whether you access the r-code file directly or store the r-code in a standard or memory-mapped procedure library, or an archive library. The following sections provide an overview of how OpenEdge loads and executes r-code from each of these sources.