AoT Compiler for Legacy Game Code Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy games are incompatible with modern machines due to security issues and architectural differences, preventing their execution and requiring recompilation on each machine, leading to inefficiencies and increased processing power usage.
Innovation Solution
An ahead-of-time (AoT) compiler that scans, decodes, and translates legacy game code into updated code, creating compiled blocks that can be executed on modern machines, allowing for efficient execution and reduced processing power requirements by caching valid blocks and dynamically compiling only invalid ones.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If legacy game code is executed directly on modern machines, then the game can be played, but security issues and architectural differences prevent execution
Solution Approach 1:
The patent applies preliminary action by performing ahead-of-time (AoT) compilation of legacy game code into updated machine code before execution. The compiler translates legacy executable code into updated source code and compiles it to updated compiled code in advance, storing it in a cache. This pre-processing resolves security and architectural incompatibilities before the game runs on modern machines, enabling reliable execution without direct legacy code interpretation.
Solution Approach 2:
The patent uses an intermediary approach by introducing a compilation and caching system between the legacy game code and the modern machine execution environment. The AoT compiler acts as a mediator that translates legacy code into an intermediate updated source code format, which is then compiled into updated machine code suitable for modern architectures. This intermediary layer resolves the incompatibility without requiring direct execution of legacy code on modern hardware.
2Adaptability or versatility
If legacy code is recompiled on each machine, then execution is possible, but processing power usage increases and inefficiencies occur
Solution Approach 1:
The patent eliminates repeated compilation by performing the compilation action in advance. The AoT compiler compiles legacy game code into updated machine code before distribution, and the compiled code is cached on modern machines. When the game is executed, the pre-compiled code is directly used without recompilation, significantly reducing processing power consumption while maintaining machine portability through the cached updated code.
Solution Approach 2:
The patent uses copying by creating and storing updated compiled code copies in a cache on modern machines. Instead of recompiling legacy code on each machine, the system copies the pre-compiled updated code to the target machine's cache. This copying approach preserves machine adaptability while avoiding the energy-intensive recompilation process, as the cached copy can be directly executed.
3Reliability
If all basic blocks are checked for invalidity, then execution accuracy is improved, but latency in displaying virtual environment increases
Solution Approach 1:
The patent applies partial action by checking only those basic blocks that are marked as invalid rather than checking all basic blocks for invalidity. The system identifies and validates only the specific blocks that require verification, leaving already-valid blocks unchecked. This selective validation maintains execution accuracy for critical blocks while reducing overall validation time and display latency.
Solution Approach 2:
The patent uses preliminary action by marking basic blocks as invalid or valid during the compilation phase before execution. This pre-marking allows the execution system to skip validation of known-valid blocks and focus only on marked-invalid blocks, reducing runtime latency while maintaining accuracy through pre-established validation states.
4Productivity
If two or more instructions are combined into one basic block, then execution speed is improved, but code complexity increases
Solution Approach 1:
The patent applies merging by combining two or more instructions into single basic blocks during the compilation process. The AoT compiler consolidates multiple legacy instructions into optimized basic blocks that execute as unified units on modern machines. This merging increases execution speed by reducing instruction overhead and improving processor efficiency, while the compiler manages the resulting structural complexity through systematic code organization.
Data Source
AI summary
A method for ahead of time (AoT) compiling during a play of a legacy game is provided. The method includes scanning a memory device for an executable code of the legacy game, decoding the executable code, and translating the executable code into a first source code. The method further includes compiling the first source code to output a first compiled code, determining whether a user input during the play of the legacy game is received, and determining whether a fiber for servicing the user input is created. The fiber provides directionality of execution between the first compiled code and a second compiled code. The method includes executing the fiber in response to determining that the fiber for servicing the user input is created. The fiber is executed to generate one or more image frames of the legacy game.


