IP Library › Granted Patent US 9,003,382
Granted Patent B2
US 9,003,382 · App. 13/769,410 · Granted Apr 7, 2015

Efficient just-in-time compilation

Inventors: Filip Eliás (Vysni Lhoty, CZ); Filip Nguyen (Brno, CZ)
Assignee: Red Hat, Inc.
G06F8/41
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,003,382
App. No.
13/769,410
Granted
Apr 7, 2015
Kind
B2
Abstract

Systems and methods for just-in-time (JIT) code compilation by a computer system. An example method may comprise identifying a defined pattern in a byte stream, evaluating a conditional expression associated with the pattern, and compiling the byte stream into a native code, while excluding, in view of the evaluating, a portion of byte stream associated with the pattern.

Claims (31)

1. A method, comprising:

identifying, by a processor, a defined pattern in a byte stream derived from a high level programming language module;

evaluating a conditional expression associated with the defined pattern, wherein the conditional expression compares a system priority level to a value representing an execution priority level of a section of code associated with the conditional expression; and

compiling the byte stream into a native code, while excluding from compiling, in view of the comparing, a byte stream of the section of code associated with the defined pattern.

2. The method of claim 1 , wherein the byte stream is provided by Java™ bytecode.

3. The method of claim 1 , further comprising storing the native code in a memory for subsequent execution by the processor.

4. The method of claim 1 , wherein the defined pattern comprises an opcode corresponding to a high-level programming language construct.

5. The method of claim 4 , wherein the high-level programming language construct comprises a pre-defined keyword.

6. The method of claim 1 , wherein the compiling is performed at run time.

7. The method of claim 1 , wherein the conditional expression comprises an identifier of a system variable, an operator, and a constant value.

8. The method of claim 1 , wherein the byte stream is provided by one of: a file or a network socket.

9. A non-transitory computer-readable storage medium comprising executable instructions that, when executed by a processor, cause the processor to:

identify, by the processor, a defined pattern in a byte stream derived from a high level programming language module;

evaluate a conditional expression associated with the defined pattern, wherein the conditional expression compares a system priority level to a value representing an execution priority level of a section of code associated with the conditional expression; and

compile the byte stream into a native code, while excluding from compiling, in view of the comparing, a byte stream of the section of code associated with the defined pattern.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the byte stream is provided by Java bytecode.

11. The non-transitory computer-readable storage medium of claim 9 , further comprising executable instructions that cause the processor to store the native code in a memory for subsequent execution.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the defined pattern comprises an opcode corresponding to a high-level language construct.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the high-level programming language construct comprises a pre-defined keyword.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the conditional expression comprises an identifier of a system variable, an operator, and a constant value.

15. A system, comprising:

a memory; and

a processor, operatively coupled to the memory, to:

identify a defined pattern in a byte stream derived from a high level programming language module;

evaluate a conditional expression associated with the defined pattern, wherein the conditional expression compares a system priority level to a value representing an execution priority level of a section of code associated with the conditional expression; and

compile the byte stream into a native code, while excluding from compiling, in view of the comparing, a byte stream of the section of code associated with the defined pattern.

16. The system of claim 15 , wherein the byte stream is provided by Java bytecode.

17. The system of claim 15 , wherein the processor is further to store the native code in a memory for subsequent execution.

18. The system of claim 15 , wherein the defined pattern comprises an opcode corresponding to a high-level language construct.

19. The system of claim 18 , wherein the high-level programming language construct comprises a pre-defined keyword.

20. The system of claim 15 , wherein the conditional expression comprises an identifier of a system variable, an operator, and a constant value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2013
From: ELIAS, FILIP; NGUYEN, FILIP
To: RED HAT, INC.
Reel/Frame 030946/0559 →
Continuity (1)
Related Publication 20140237458A1 · Aug 21, 2014