Correlating class loader objects across execution environments

US2016154658A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016154658-A1
Application numberUS-201615016789-A
CountryUS
Kind codeA1
Filing dateFeb 5, 2016
Priority dateJun 27, 2014
Publication dateJun 2, 2016
Grant date

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.

Updating a native class pointer in persisted compiled code for use in an execution environment other than the one in which the native class pointer was created. This is done by using an identifier, stored with the persisted compiled code, of the class first loaded by the class loader that also loaded the class to which the native class pointer refers. A table is maintained in the execution environment mapping class identifiers to class loaders, and the stored identifier is used to consult this table to find a candidate class loader from those in the current execution environment that can provide the correct updated pointer.

First claim

Opening claim text (preview).

1 . A method for use in a first program execution environment, the method comprising: creating a first map for looking up a class loader by a lookup identifier based, at least in part, on that class loader's first-loaded class; receiving code compiled in a second program execution environment, which code includes: (i) a native class pointer to a target class loaded by a class loader in the second program execution environment, and (ii) an associated lookup identifier based, at least in part, on a first-loaded class of the class loader in the second program execution environment; looking up in the first map, using the associated lookup identifier, a class loader in the first program execution environment; seeking, via a referential identifier of the found class loader, a current native class pointer to the target class; and responsive to finding the current native class pointer, updating the native class pointer in the received code with the current native class pointer. 2 . The method of claim 1 wherein the first map is a hash table. 3 . The method of claim 1 wherein creating the first map includes detecting whether a lookup identifier for looking up a second class loader has already been associated in the first map with a first class loader. 4 . The method of claim 1 wherein the lookup identifier represents a first-loaded class, such that the first map is a map of first-loaded classes to their respective class loaders. 5 - 7 . (canceled) 8 . A computer program product for use in a first program execution environment, the computer program product comprising a computer readable storage medium having stored thereon: first program instructions programmed to create a first map for looking up a class loader by a lookup identifier based, at least in part, on that class loader's first-loaded class; second program instructions programmed to receive code compiled in a second program execution environment, which code includes: (i) a native class pointer to a target class loaded by a class loader in the second program execution environment, and (ii) an associated lookup identifier based, at least in part, on a first-loaded class of the class loader in the second program execution environment; third program instructions programmed to look up in the first map, using the associated lookup identifier, a class loader in the first program execution environment; fourth program instructions programmed to seek, via a referential identifier of the found class loader, a current native class pointer to the target class; and fifth program instructions programmed to update, responsive to finding the current native class pointer, the native class pointer in the received code with the current native class pointer. 9 . The product of claim 8 wherein the first map is a hash table. 10 . The product of claim 8 wherein creating the first map includes detecting whether a lookup identifier for looking up a second class loader has already been associated in the first map with a first class loader. 11 . The product of claim 8 wherein the lookup identifier represents a first-loaded class, such that the first map is a map of first-loaded classes to their respective class loaders. 12 - 14 . (canceled) 15 . A computer system for use in a first program execution environment, the computer system comprising: a processor(s) set; and a computer readable storage medium; wherein: the processor set is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and the program instructions include: first program instructions programmed to create a first map for looking up a class loader by a lookup identifier based, at least in part, on that class loader's first-loaded class; second program instructions programmed to receive code compiled in a second program execution environment, which code includes: (i) a native class pointer to a target class loaded by a class loader in the second program execution environment, and (ii) an associated lookup identifier based, at least in part, on a first-loaded class of the class loader in the second program execution environment; third program instructions programmed to look up in the first map, using the associated lookup identifier, a class loader in the first program execution environment; fourth program instructions programmed to seek, via a referential identifier of the found class loader, a current native class pointer to the target class; and fifth program instructions programmed to update, responsive to finding the current native class pointer, the native class pointer in the received code with the current native class pointer. 16 . The system of claim 15 wherein the first map is a hash table. 17 . The system of claim 15 wherein creating the first map includes detecting whether a lookup identifier for looking up a second class loader has already been associated in the first map with a first class loader. 18 . The system of claim 15 wherein the lookup identifier represents a first-loaded class, such that the first map is a map of first-loaded classes to their respective class loaders. 19 - 20 . (canceled)

Assignees

Inventors

Classifications

  • Preparing or optimising for loading · CPC title

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • Reducing the execution time required by the program code · 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 US2016154658A1 cover?
Updating a native class pointer in persisted compiled code for use in an execution environment other than the one in which the native class pointer was created. This is done by using an identifier, stored with the persisted compiled code, of the class first loaded by the class loader that also loaded the class to which the native class pointer refers. A table is maintained in the execution envi…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/44521. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).