# US 2013/0159983 A1 · Optimizing just-in-time compiling for a java application executing on a compute node

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159983 A1
- Document ID: US20130159983A1
- Status: Published application
- Kind: A1
- Application number: 13/767,983
- Filed: 2013-02-15
- Published: 2013-06-20
- Earliest claimed: 2008-04-24
- Assignees: International Business Machines Corporation
- Inventors: ERIC L. BARSNESS; DAVID L. DARRINGTON; AMANDA E. RANDLES; JOHN M. SANTOSUOSSO
- Web page: https://patentgrep.com/patent/US20130159983A1

## CPC

- G06F 8/41: Compilation
- G06F 9/45516: {Runtime code conversion or optimisation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and products are disclosed for optimizing just-in-time (‘JIT’) compiling for a Java application executing on a compute node, the compute node having installed upon it a Java Virtual Machine (‘JVM’) capable of supporting the Java application, that include: identifying, by an application manager, a particular portion of the Java application; assigning, by the application manager, a JIT level to the particular portion of the Java application; and jitting, by the JVM installed on the compute node, the particular portion of the Java application in dependence upon the JIT level assigned to that particular portion of the Java application.

## Claims

### Claim 1

A method of optimizing just-in-time (‘JIT’) compiling for a software application executing on a compute node, the compute node having installed upon it a software Virtual Machine (‘VM’) capable of supporting the software application, the method comprising:
identifying, by an application manager, a particular portion of the software application;
assigning, by the application manager, a JIT level to the particular portion of the software application, including:
establishing the JIT level for the particular portion of the software application in dependence upon a historic JIT profile for the particular portion of the software application and previous execution performance of the particular portion of the software application, wherein the previous execution performance for the particular portion includes a previous performance value and a number of times the particular portion was invoked, wherein the historic JIT profile specifies JIT levels previously used when jitting various portions of the software application; and
jitting, by the VM installed on the compute node, the particular portion of the software application in dependence upon the JIT level assigned to that particular portion of the software application.

### Claim 2 (depends on 1)

The method of claim 1 wherein the particular portion of the software application further comprises a generic type of software construct.

### Claim 3 (depends on 1)

The method of claim 1 wherein the particular portion of the software application further comprises a specific implementation of a software construct.

### Claim 4 (depends on 1)

The method of claim 1 wherein the particular portion of the software application further comprises a software call sequence for a particular software method.

### Claim 5

(canceled)

### Claim 6 (depends on 1)

The method of claim 1 wherein optimizing JIT compiling for a software application executing on a compute node further comprises optimizing JIT compiling for a software application executing on a parallel computer, the parallel computer comprising a plurality of compute nodes and a service node, the application manager installed upon the service node, the plurality of compute nodes connected for data communications through a plurality of data communications networks, at least one data communications network optimized for collective operations, and at least one other data communications network optimized for point to point operations.

### Claim at position 7

7-20. (canceled)
