System converter that implements 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

US9733909B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9733909-B2
Application numberUS-201514807308-A
CountryUS
Kind codeB2
Filing dateJul 23, 2015
Priority dateJul 25, 2014
Publication dateAug 15, 2017
Grant dateAug 15, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • Software maintenance or management · CPC title

  • Techniques for rebalancing the load in a distributed system · CPC title

  • G06F8/443Primary

    Optimisation · CPC title

  • Optimisation or modification within the same instruction set architecture, e.g. HP Dynamo · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9733909B2 cover?
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 …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F8/443. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 15 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).