G06F8/4443

SYSTEM AND METHOD FOR RUNTIME ADAPTABLE APPLICATIONS
20190377560 · 2019-12-12 ·

A platform host for deploying a runtime adaptable application has in-line application scope parameters and is capable of interacting with code selection logic when executed. The platform host includes one or more processors coupled to a non-transitory processor-readable storage medium having processor-executable instructions that, when executed by the processor, cause the platform host to: instantiate the code selection logic in an execution platform, the code selection logic being based, at least in part, on the in-line application scope parameters; determine values of platform configuration parameters at runtime, and execute the runtime adaptable application based on the code selection logic and the values of the platform configuration parameters.

EMBEDDING CODE FROM MODULES ACROSS VERSIONING BOUNDARIES

A computing system and method for determining if a first software component that has shipped separately from a second software component has been updated. An inline expansion process copies a first method of the first software component into a first method of a second software component is performed so that the copied first method is executable when the second method of the second software component is executed. The first method from the first software component is copied into metadata that is attached to the first method of the second software component. The copy of the first method in the metadata is used to validate that the first method in the first software component has not been updated.

Dataflow Analysis to Reduce the Overhead of On Stack Replacement

An approach is provided in which an information handling system selects an assumption point in a software program corresponding to a compile-time assumption made by a compiler, and selects an assumption violation point in the software program corresponding to a location at which the compile-time assumption can be violated at runtime. The information handling system propagates backwards in the software program from the assumption point and reaches the assumption violation point. The information handling system determines that the assumption point corresponds to a first method and the assumption violation point corresponds to a second method that is different from the first method, and inserts a conditional transition in the software program at the assumption violation point. The information handling system executes a compiled version of the software program that includes the conditional transition.

Enhancing program execution using optimization-driven inlining

Optimizing program execution includes performing, to obtain an expanded call graph, an expansion of an initial call graph. The expanded call graph includes nodes. The initial call graph is defined for a program that includes a root method and a child method. The method may further include calculating a cost value and a benefit value for inlining the child method, calculating an inlining priority value as a function of the cost value and the benefit value, and inlining, based on analyzing the expanded call graph and comparing the inlining priority value to a dynamic threshold, the child method into the root method. The child method may correspond to a node in the expanded call graph.

Techniques to remove idle cycles for clock-sensitive threads in hardware simulators
10445077 · 2019-10-15 · ·

Embodiments may be directed to techniques to detect a clock-sensitive thread in source code, where the clock-sensitive thread executes a task, and transform the clock-sensitive thread into a first method and a second method. The first method generates a timed notification in response to an event, e.g., an input data change or a variable change, where the timed notification corresponds with a clock edge of a clock, and the second method executes the task in response to the timed notification.

Information processing device, compiler method, and recording medium recording compiler program
10445095 · 2019-10-15 · ·

An information processing device includes: a memory; and a processor coupled to the memory, the processor specifies a function including a branch instruction including one or more branch destinations in a program code; determines, based on a first number of arguments which are referenced in one branch destination among the one or more branch destinations, whether or not an argument of one function obtained by functionalizing the one branch destination are passable through a register; and converts, when determining to be passable, the specified function using one or more functions obtained by functionalizing the one or more branch destinations and does not convert, when determining not to be passable, the specified function.

APPLICATION DEVELOPMENT METHOD, TOOL, AND DEVICE, AND STORAGE MEDIUM
20190310835 · 2019-10-10 ·

Embodiments of the present application disclose an application development method performed at a computing device. The method includes: obtaining an input file in a predetermined format, the input file including content code of each part used for forming an application; disassembling the content code of each part in the input file into different category code according to corresponding categories; invoking a corresponding compiler according to an attribute of each piece of the category code, to compile the category code, to correspondingly obtain a description file of each piece of the category code; and performing plug-in processing on the description file of the category code of each part, to obtain the application.

ENHANCING PROGRAM EXECUTION USING OPTIMIZATION-DRIVEN INLINING

Optimizing program execution includes performing, to obtain an expanded call graph, an expansion of an initial call graph. The expanded call graph includes nodes. The initial call graph is defined for a program that includes a root method and a child method. The method may further include calculating a cost value and a benefit value for inlining the child method, calculating an inlining priority value as a function of the cost value and the benefit value, and inlining, based on analyzing the expanded call graph and comparing the inlining priority value to a dynamic threshold, the child method into the root method. The child method may correspond to a node in the expanded call graph.

SYSTEM AND METHOD FOR IN-LINE EXECUTABLES
20240176633 · 2024-05-30 ·

In variants, the method and/or system for executing a polyglot script can include identifying a line including a special character in a base script; executing commands within the special character line using a secondary CIEM; optionally repeating the above for subsequent lines in the base script including the special character; and executing the remainder of the base script using a primary CIEM S500.

Dataflow Analysis to Reduce the Overhead of On Stack Replacement

An approach is provided in which an information handling system selects a first point in a software program corresponding to a compile-time assumption made by a compiler. The information handling system then selects a set of second points in the software program corresponding to a set of locations at which the compile-time assumption can be violated at runtime. Next, the information handling system starts at the first point and propagates backwards in the software program to identify one or more of the second points that are reached from the backwards propagation. The information handling system then inserts conditional transitions in the software program at each of the identified assumption violation points and executes a compiled version of the software program, resulting in an evaluation of the compile-time assumption at the conditional transitions.