US 12,229,126 B2
Run time memory management for computing systems, including massively parallel database processing systems
Kapil Kedar Lanka, Hyderabad (IN); Nobul Reddy Goli, Hyderabad (IN); B. Anantha Subramanian, Bangalore (IN); and Veerendra Kumar Achanta, Hyderabad (IN)
Assigned to Teradata US, Inc., San Diego, CA (US)
Filed by Teradata US, Inc., San Diego, CA (US)
Filed on Dec. 28, 2021, as Appl. No. 17/563,757.
Claims priority of provisional application 63/132,589, filed on Dec. 31, 2020.
Prior Publication US 2022/0215024 A1, Jul. 7, 2022
Int. Cl. G06F 16/2453 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/24532 (2019.01) [G06F 16/24552 (2019.01); G06F 16/24568 (2019.01)] 22 Claims
OG exemplary drawing
 
1. A computer-implemented method of executing one or more executable components in a computing system that includes one or more processors configured to used data stored in at least one stack memory and at least one heap memory for execution of the one or more executable components, wherein the computer-implemented method comprises:
initiating, by the computing system, the execution of one or more executable components when the executable components are to be executed by the computing system;
determining, at run time, when the one or more executable components are to be executed or are being executed by the computing system, whether to designate the heap memory for execution of the one or more executable components instead of the stack memory; and
designating at least a portion of the heap memory, at the run time, for the execution of the one or more executable components when the determining determines to designate the heap memory to execute the one or more executable components instead of the stack memory; and
designating only the stack memory, at the run time, to execute the one or more executable components when the determining determines not to designate the heap memory, for execution of the one or more executable components;
determining, at the run time, when the one or more executable components are to be executed or are being executed by the computing system, whether to designate the heap memory for execution of the one or more executable components in addition to, the stack memory, in order to execute and/or, to continue the execution of the one or more executable components by the computing system; and
designating at least a portion of the heap memory, at the run time, for the execution of the one or more executable components when the determining determines to designate the heap memory in addition to the stack memory to execute, and/or to continue the execution, of the one or more executable components.