EP1451682A2

Platform-independent selective ahead-of-time compilation

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 3 October 2022, 4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

66 claims: 12 independent, 54 dependent

  1. 1
    Claims of equivalent WO 03032155 A2 WHAT IS CLAIMED IS:1. A process for platform-independent selective ahead-of-time compilation in a system including a host and a device, comprising: selecting a subset of methods for ahead-of-time compilation, the selecting including ranking a set of methods according to predetermined criteria and identifying the subset of methods from the set of methods using a heuristic;converting, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation;storing each intermediate representation with a corresponding selected method;and loading at least one of the selected methods onto the device for execution by a virtual machine on the device, wherein the virtual machine accesses a method descriptor data structure associated with the at least one selected method, determines whether the at least one selected method has an intermediate representation associated with it, and, based on a determination that the at least one selected method is associated with an intermediate representation, converts the intermediate representation associated with the at least one selected method to platform-dependent machine code.
  2. 16
    A process for platform-independent selective ahead-of-time compilation, comprising:selecting a subset of methods for ahead-of-time compilation;converting, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation;optimizing the platform-independent intermediate representation of each selected method;and storing each optimized intermediate representation as one of a field of a corresponding method descriptor data structure and an attribute of the corresponding method descriptor data structure.
  3. 30
    A process for platform-independent selective ahead-of-time compilation, comprising:selecting a subset of methods for ahead-of-time compilation, the selecting including ranking a set of methods according to predetermined criteria and identifying the subset of methods from the set of methods using a heuristic;converting, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation;optimizing the platform-independent intermediate representation of each selected method;and storing each optimized intermediate representation with a corresponding selected method.
  4. 31
    A process for platform-independent selective ahead-of-time compilation in a system including a host and a device, comprising:selecting a subset of methods for ahead-of-time compilation;converting, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation;optimizing the platform-independent intermediate representation of each selected method;storing each optimized intermediate representation as one of a field of a corresponding method descriptor data structure and an attribute of the corresponding method descriptor data structure;and loading at least one of the selected methods onto the device for execution by a virtual machine on the device, wherein the virtual machine accesses a method descriptor data structure associated with the at least one selected method, determines whether the at least one selected method has an optimized intermediate representation associated with it, and, based on a determination that the at least one selected method is associated with an optimized intermediate representation, converts the optimized intermediate representation associated with the at least one selected method to platform-dependent machine code.
  5. 32
    A process, performed by a device, for platform-independent selective ahead-of-time compilation, comprising:receiving at least one method, wherein the method is from a subset of methods selected for ahead-of-time compilation, and wherein bytecodes corresponding to each selected method are converted to a platform-independent intermediate representation, and each platform-independent intermediate representation is stored with a corresponding selected method;accessing a method descriptor data structure of a method about to be called;determining whether the method descriptor data structure has a platform- independent intermediate representation associated with it;and converting the intermediate representation associated with the at least one selected method to platform-dependent machine code based on a determination that the method descriptor data structure has a platform-independent intermediate representation associated with it.
  6. 34
    An apparatus for platform-independent selective ahead-of-time compilation, comprising:a method selector operable to select a subset of methods for ahead-of-time compilation, the method selector including a profiling tool operable to rank a set of methods according to predetermined criteria and a heuristic operable to identify the subset of methods from the set of methods;and an ahead-of-time compiler including a first unit and a second unit, the first unit operable to convert, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation, and the second unit operable to optimize the platform-independent intermediate representation of each selected method, wherein each optimized intermediate representation is stored with a corresponding selected method.
  7. 45
    An apparatus for platform-independent selective ahead-of-time compilation, comprising:a virtual machine operable to receive at least one method, wherein the method is from a subset of methods selected for ahead-of-time compilation, and wherein bytecodes corresponding to each selected method are converted to a platform- independent intermediate representation, the platform-independent intermediate representation of each selected method is optimized, and each optimized platform- independent intermediate representation is stored with a corresponding selected method;an interpreter operable to access a method descriptor data structure of a method about to be called, and determine whether the method descriptor data structure has an optimized platform-independent intermediate representation associated with it;and a just-in-time compiler operable to convert the optimized intermediate representation associated with the method about to be called to platform-dependent machine code based on a determination that the method descriptor data structure has an optimized platform-independent intermediate representation associated with it.
  8. 49
    A system for platform-independent selective ahead-of-time compilation, comprising:a method selector operable to select a subset of methods for ahead-of-time compilation, the method selector including a profiling tool operable to rank a set of methods according to predeteπnined criteria and a heuristic operable to identify the subset of methods from the set of methods;an ahead-of-time compiler including a first unit and a second unit, the first unit operable to convert, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation, and the second unit operable to optimize the platform-independent intermediate representation of each selected method, wherein each optimized intermediate representation is stored with a corresponding selected method;a class preloader operable to load, prior to runtime, at least one of the selected methods onto a device for execution;a dynamic class loader operable to load, during runtime, at least one of the selected methods onto the device for execution;a virtual machine operable to receive at least one method from one of the class preloader and dynamic class loader;an interpreter operable to access a method descriptor data structure of a method about to be called, and determine whether the method descriptor data structure has an optimized platform-independent intermediate representation associated with it;and a just-in-time compiler operable to convert the optimized intermediate representation associated with the method about to be called to platform-dependent machine code based on a determination that the method descriptor data structure has an optimized platform-independent intermediate representation associated with it.
  9. 50
    An apparatus for platform-independent selective ahead-of-time compilation, comprising:means for selecting a subset of methods for ahead-of-time compilation;means for converting, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation;means for optimizing the platform-independent intermediate representation of each selected method;and means for storing each optimized intermediate representation as one of a field of a corresponding method descriptor data structure and an attribute of the corresponding method descriptor data structure.
  10. 59
    A computer-readable medium containing instructions for performing a process for platform-independent selective ahead-of-time compilation, the process comprising:selecting a subset of methods for ahead-of-time compilation;converting, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation;optimizing the platform-independent intermediate representation of each selected method;and storing each optimized intermediate representation as one of a field of a corresponding method descriptor data structure and an attribute of the corresponding method descriptor data structure.
  11. 65
    A computer-readable medium containing instructions for performing a process for platform-independent selective ahead-of-time compilation in a system including a host and a device, the process comprising:receiving at least one method from the host, wherein the method is from a subset of methods selected for ahead-of-time compilation, and wherein bytecodes corresponding to each selected method are converted to a platform-independent intermediate representation, the platform-independent intermediate representation of each selected method is optimized, and each optimized platform-independent intermediate representation is stored with a corresponding selected method;accessing a method descriptor data structure of a method about to be called;determining whether the method descriptor data structure has an optimized platform-independent intermediate representation associated with it;and converting the optimized intermediate representation associated with the at least one selected method to platform-dependent machine code based on a determination that the method descriptor data structure has an optimized platform- independent intermediate representation associated with it.
  12. 66
    An apparatus for platform-independent selective ahead-of-time compilation in a system including a host and a device, comprising:means for receiving at least one method from the host, wherein the method is from a subset of methods selected for ahead-of-time compilation, and wherein bytecodes corresponding to each selected method are converted to a platform- independent intermediate representation, the platform-independent intermediate representation of each selected method is optimized, and each optimized platform- independent intermediate representation is stored with a corresponding selected method;means for accessing a method descriptor data structure of a method about to be called;means for determining whether the method descriptor data structure has an optimized platform-independent intermediate representation associated with it;and means for converting the optimized intermediate representation associated with the at least one selected method to platform-dependent machine code based on a determination that the method descriptor data structure has an optimized platform- independent intermediate representation associated with it.
Independent claims12