METHOD FOR COMPILING PROGRAM COMPONENTS IN A MIXED STATIC AND DYNAMIC ENVIRONMENT

Patent №

US 6,973,646

Granted

2005-12-06

Filed 2000

Owner

INTERNATIONAL BUSINESS MACHINES CORPORATION

AI components

1

hardware

Assignment

Recorded

Dataset

AIPD

2023_r1 edition

Application

09621571

This invention describes a method and several variants for compiling programs or components of programs in a mixed static and dynamic environment, so as to reduce the amount of time and memory spent in run-time compilation, or to exercise greater control over testing of the executable code for the program, or both. The invention involves generating persistent code images prior to program execution based on static compilation or dynamic compilation from a previous run, and then, adapting those images during program execution. We describe a method for generating auxiliary information in addition to the executable code that is recorded in the persistent code image. Further, we describe a method for checking the validity of those code images, adapting those images to the new execution context, and generating new executable code to respond to dynamic events, during program execution. Our method allows global interprocedural optimizations to be performed on the program, even if the programming language supports, or requires, dynamic binding. Variants of the method show how one or several of the features of the method may be performed. The invention is particularly useful in the context of implementing Java Virtual Machines, although it can also be used in implementing other programming languages.

AI classification

AI hardware0.99
Knowledge representation0.19
Planning0.01
Natural language0.00
Speech0.00
Vision0.00
Machine learning0.00
Evolutionary computation0.00

Ownership

INTERNATIONAL BUSINESS MACHINES CORPORATION

assignment · 156600052

Assignors

BORDAWEKAR, RAJESH, GUPTA, MANISH, MIDKIFF, SAMUEL PRATT, SERRANO, MAURICIO J.

On an employer assignment, the assignors are typically the inventors.

From the same owner

© 2026 NYSGPT2525 LLC