System converter that executes a just in time optimizer for executing code from a guest image
US-2016026484-A1 · Jan 28, 2016 · US
US9733909B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9733909-B2 |
| Application number | US-201514807308-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 23, 2015 |
| Priority date | Jul 25, 2014 |
| Publication date | Aug 15, 2017 |
| Grant date | Aug 15, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system for an agnostic runtime architecture. The system includes a system emulation/virtualization converter, an application code converter, and a converter wherein a system emulation/virtualization converter and an application code converter implement a system emulation process, and wherein the system converter implements a system and application conversion process for executing code from a guest image, wherein the system converter or the system emulator. The system further includes a reordering process through JIT (just in time) optimization that ensures loads do not dispatch ahead of other loads that are to the same address, wherein a load will check for a same address of subsequent loads from a same thread, and a thread checking process that enable other thread store checks against the entire load queue and a monitor extension.
Opening claim text (preview).
What is claimed is: 1. A system for an agnostic runtime architecture implemented on a processor, the system comprising: a system emulation/virtualization converter; an application code converter; and a system converter wherein the system emulation/virtualization converter and the application code converter implement a system emulation process, and wherein the system converter implements a system and application conversion process for executing code from a guest image, wherein the system emulation process or the system and application conversion process are operable to implement: a reordering process through JIT (just in time) optimization that ensures loads do not dispatch ahead of other loads that are to a same address and loads to a same address of a store within a same thread are not reordered before the store, wherein a load is checked for a same address in subsequent loads from a same thread, and wherein a reordered load includes an offset that indicates an initial position of the reordered load in machine order in relation to following stores; and a thread checking process that enables stores from another thread to check against an entire load queue and a monitor extension. 2. The system of claim 1 , wherein the monitor extension is set by an original load and cleared by a subsequent instruction following the original load. 3. The system of claim 1 , wherein the store is a partial store. 4. The system of claim 1 , wherein the store is a total store. 5. The system of claim 1 , further comprising: a JIT layer, comprising: a runtime native instruction assembly component for receiving instructions from a guest virtual machine; a runtime native instruction sequence formation component for receiving instructions from native code; and a dynamic sequence block-based instruction mapping component for code cache allocation and metadata creation coupled to receive inputs from the runtime native instruction assembly component and the runtime native instruction sequence formation component, wherein the dynamic sequence block-based instruction mapping component receives resulting processed instructions from the runtime native instruction assembly component and the runtime native instruction sequence formation component and allocates resulting processed instructions to the processor for execution. 6. The system of claim 5 , wherein the processor comprises a sequence cache to store dynamically converted sequences. 7. A computer system comprising a microprocessor, wherein the microprocessor comprises: a system emulation/virtualization converter operable to execute system code from a guest image; an application code converter operable to execute application code from the guest image; and a system converter wherein the system emulation/virtualization converter and the application code converter implement a system emulation process, and wherein the system converter implements a system and application conversion process for executing code from the guest image, wherein the system emulation process or the system and application conversion process are operable to implement: a reordering process through JIT (just in time) optimization that ensures loads do not dispatch ahead of other loads that are to a same address and loads to a same address of a store within a same thread are not reordered before the store, wherein a load is checked for a same address in subsequent loads from a same thread, and wherein a reordered load includes an offset that indicates an initial position of the reordered load in machine order in relation to following stores; and a thread checking process that enables stores from another thread to check against an entire load queue and a monitor extension. 8. The computer system of claim 7 , wherein the monitor extension is set by an original load and cleared by a subsequent instruction following the original load. 9. The computer system of claim 7 , wherein the store is a partial store. 10. The computer system of claim 7 , wherein the store is a total store. 11. The computer system of claim 7 , further comprising: a JIT layer, comprising: a runtime native instruction assembly component for receiving instructions from a guest virtual machine; a runtime native instruction sequence formation component for receiving instructions from native code; and a dynamic sequence block-based instruction mapping component for code cache allocation and metadata creation coupled to receive inputs from the runtime native instruction assembly component and the runtime native instruction sequence formation component, wherein the dynamic sequence block-based instruction mapping component receives resulting processed instructions from the runtime native instruction assembly component and the runtime native instruction sequence formation component and allocates resulting processed instructions to the microprocessor for execution. 12. The computer system of claim 11 , wherein the microprocessor further comprises a sequence cache to store dynamically converted sequences. 13. A computer system comprising a microprocessor comprising a core and a plurality of caches, wherein the microprocessor further comprises: a system emulation/virtualization converter; an application code converter; and a system converter wherein the system emulation/virtualization converter and the application code converter implement a system emulation process, and wherein the system converter implements a system and application conversion process for executing code from a guest image, wherein the system emulation process or the system and application conversion process are operable to implement: a reordering process through JIT (just in time) optimization that ensures loads do not dispatch ahead of other loads that are to a same address and loads to a same address of a store within a same thread are not reordered before the store, wherein a load is checked for a same address in subsequent loads from a same thread, and wherein a reordered load includes an offset that indicates an initial position of the reordered load in machine order in relation to following stores; and a thread checking process that enables stores from another thread to check against an entire load queue and a monitor extension. 14. The computer system of claim 13 , wherein the monitor extension is set by an original load and cleared by a subsequent instruction following the original load. 15. The computer system of claim 13 , wherein the store is a partial store. 16. The computer system of claim 13 , wherein the store is a total store. 17. The computer system of claim 13 , further comprising: a close to bare metal JIT conversion layer, comprising: a runtime native instruction assembly component for receiving instructions from a guest virtual machine; a runtime native instruction sequence formation component for receiving instructions from native code; and a dynamic sequence block-based instruction mapping component for code cache allocation and metadata creation coupled to receive inputs from the runtime native instruction assembly component and the runtime native instruction sequence formation component, wherein the dynamic sequence block-based instruction mapping component receives resulting processed instructions from the runtime native instruction assembly component and the runtime native instruction sequence formation component and allocates resulting processed instructions to the microprocessor for execution.
Software maintenance or management · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Optimisation · CPC title
Optimisation or modification within the same instruction set architecture, e.g. HP Dynamo · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.