Domain-Specific Interpreter Inlining for Faster Compiled Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing compiler technologies fail to optimally select code blocks for inlining due to a lack of domain-specific knowledge about the interpreter's execution paths, leading to suboptimal performance in user level programs.

Innovation Solution

Repurpose compiler directives within interpreter source code to make informed decisions on which code blocks to inline during host compilation, leveraging domain-specific knowledge to improve inlining decisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If compiler directives are not used during host compilation of interpreter source code, then the compilation process is simpler and faster, but the inlining decisions are suboptimal leading to slower user level program execution

Engineering Contradiction:
Improveuser level program execution efficiencyVSAvoidcompilation process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Compiler directives originally designed for guest compilation are repurposed to serve dual purposes: guiding both guest compilation and host compilation inlining decisions. This allows the same directives to optimize multiple aspects of the compilation process without requiring separate directive sets, thereby improving execution efficiency while controlling complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the interpretation and application of existing compiler directives from solely guiding guest compilation to also controlling host compilation inlining behavior. By modifying how these directives are processed during host compilation, the system achieves better optimization without adding new directive syntax or structure.

Inventive Principle:
Principle #35Parameter changes

2Speed

If interpreter source code is compiled without domain-specific inlining directives, then the compilation is more straightforward, but the resulting compiled interpreter performs slower due to suboptimal inlining

Engineering Contradiction:
Improvecompiled interpreter execution speedVSAvoidinterpreter source code complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Domain-specific inlining directives are embedded within the interpreter source code itself during its development phase. These directives prepare and guide the host compilation process in advance, ensuring that when compilation occurs, the optimizer already has the necessary information to make optimal inlining decisions, thereby achieving high execution speed without requiring complex post-processing or external analysis.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12367020B2Domain specific inlining for interpreters
Publication Date: 2025.07.22 ORACLE INT CORP
  • US12367020B2 patent drawing
  • US12367020B2 patent drawing
  • US12367020B2 patent drawing

AI summary

Domain specific inlining for interpreters includes obtaining an interpreter source code including compiler directives. A host compilation is performed on the interpreter source code to obtain a compiled interpreter. Performing host compilation includes inlining code blocks based on the plurality of compiler directives. The compiled interpreter is outputted.