Selective Intermediate Representation for Mixed-Mode Program Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in efficiently executing source programs that are partially converted into intermediate representations, leading to increased system development burden due to the need for separate libraries for both source and intermediate representations.
Innovation Solution
A computing device and method that determines which parts of a source program to convert to intermediate representation, generates necessary data conversion instructions, and executes both representations using existing libraries, allowing for partial conversion and execution of a larger portion of the source program.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a source program is partially converted to intermediate representation, then the portion that can be converted is increased, but the system development burden increases due to needing separate libraries for source and intermediate representations
Solution Approach 1:
The patent makes the execution unit universal by enabling it to execute both source programs and intermediate representations through a unified library interface. The execution unit includes a source program execution means and an intermediate representation execution means that share common library resources, allowing the same library to support multiple execution modes without requiring separate library implementations for each representation type.
Solution Approach 2:
The patent introduces an intermediate representation generation means that acts as a mediator between the source program and the execution unit. This generation means converts source program portions to intermediate representation format dynamically, enabling the execution unit to process converted code while maintaining compatibility with existing libraries. The intermediary conversion process allows seamless integration of intermediate representation execution without requiring complete rewriting of the execution infrastructure.
2Adaptability or versatility
If data conversion instructions are added to intermediate representation, then compatibility with source program data format is improved, but the complexity of intermediate representation generation increases
Solution Approach 1:
The patent applies preliminary action by having the intermediate representation generation means automatically insert data conversion instructions during the conversion process from source program to intermediate representation. Instead of handling data format conversions during execution, the conversion instructions are prepared in advance as part of the intermediate representation generation, ensuring that data formats are compatible when the intermediate representation is executed while keeping the execution phase simple.
3Ease of manufacture
If existing libraries are used for both source and intermediate representations, then system development burden is reduced, but the ability to execute converted code efficiently may be compromised
Solution Approach 1:
The patent segments the execution functionality into distinct execution means within the execution unit: a source program execution means for executing original source code and an intermediate representation execution means for executing converted intermediate representation. Both execution means utilize existing libraries, but the segmentation allows optimized execution paths for each representation type, maintaining execution efficiency while reducing system development burden through library reuse.
Data Source
AI summary
A computing device determines, for each part of a source program, whether the part is to be converted to an intermediate representation or is to be executed without conversion to the intermediate representation. The computing device generates the intermediate representation of the part of the source program that has been determined to be converted to the intermediate representation. The computing device determines whether data obtained as a result of executing the intermediate representation include data requiring conversion to a data representation format of the source program. If it is determined that there are corresponding data, the computing device generates the intermediate representation including an instruction to convert a data representation format of that data. The computing device instruct execution of the intermediate representation, by executing the part of the source program that has been determined not to be converted to the intermediate representation.


