Deterministic memory allocation for real-time applications
AssigneeApex.Ai, Inc.
InventorMisha Shalem
Life of this patent
Estimating the term…
Abstract
Deterministic memory allocation for real-time applications. In an embodiment, bitcode is scanned to detect calls by a memory allocation function to a dummy function. Each call uses parameters comprising an identifier of a memory pool and a size of a data type to be stored in the memory pool. For each detected call, an allocation record, comprising the parameters, is generated. Then, a header file is generated based on the allocation records. The header file may comprise a definition of bucket(s) and a definition of memory pools. Each definition of a memory pool may identify at least one bucket.
Claims15
A method of automatically generating a header file to define memory pools for deterministic memory allocation, the method comprising using at least one hardware processor to:
- receive bitcode representing compiled source code of an application, wherein the source code comprises an allocation function for allocating memory that calls a dummy function using one or more parameters;
- and,
- automatically,
- scan the bitcode to detect each call to the dummy function in the bitcode,
- for each detected call to the dummy function, extract the one or more parameters used in the detected call to the dummy function, and generate an allocation record from the extracted one or more parameters, and
- generate a header file based on the generated allocation records.
A non-transitory computer-readable medium having instructions stored therein, wherein the instructions, when executed by a processor, cause the processor to:
- receive bitcode representing compiled source code of an application, wherein the source code comprises an allocation function for allocating memory that calls a dummy function using one or more parameters;
- and,
- automatically,
- scan the bitcode to detect each call to the dummy function in the bitcode,
- for each detected call to the dummy function, extract the one or more parameters used in the detected call to the dummy function, and generate an allocation record from the extracted one or more parameters, and
- generate a header file based on the generated allocation records.
A system comprising:
- at least one hardware processor;
- and
- one or more software modules that are configured to, when executed by the at least one hardware processor,
- receive bitcode representing compiled source code of an application, wherein the source code comprises an allocation function for allocating memory that calls a dummy function using one or more parameters, and,
- automatically,
- scan the bitcode to detect each call to the dummy function in the bitcode,
- for each detected call to the dummy function, extract the one or more parameters used in the detected call to the dummy function, and generate an allocation record from the extracted one or more parameters, and
- generate a header file based on the generated allocation records.
Dependencies are inferred from the claim text.