Program execution without the use of bytecode modification or injection

US10338952B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10338952-B2
Application numberUS-201815966215-A
CountryUS
Kind codeB2
Filing dateApr 30, 2018
Priority dateJan 25, 2016
Publication dateJul 2, 2019
Grant dateJul 2, 2019

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.

A method for registering a plurality of callbacks. The method may include receiving at least one callback function in a virtual machine, which includes a plurality of callback registration information. The method may include registering each at least one received callback function in a virtual machine tool interface within the virtual machine to a list of callback functions for an event based on the plurality of callback registration information. The method may include monitoring the virtual machine for an occurrence of the event. The method may include determining the event has occurred. The method may also include generating a local frame for each at least one registered callback function within the list of callback functions for the determined event. The method may include executing each at least one registered callback function based on each generated local frame associated with each at least one registered callback function.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor-implemented method for registering a plurality of callbacks, the method comprising: registering each of a plurality of callback functions in a virtual machine tool interface within a virtual machine to a list of callback functions for an event based on a plurality of event context elements associated with each callback function; in response to the event occurring, generating a local frame for each registered callback function within the list of callback functions for the determined event; and executing each registered callback function, concurrently, based on each generated local frame associated with each at least one registered callback function. 2. The method of claim 1 , further comprising: determining each registered callback function is to be deregistered; terminating the generated local frame; and deregistering each determined callback function. 3. The method of claim 1 , wherein the event includes at least one of a breakpoint event, a class prepared event, a method call event, a virtual machine death event, or a frame pop event. 4. The method of claim 1 , wherein the plurality of event context elements includes at least one of a callback name, a callback class, a method name, a method signature, or a bytecode location. 5. The method of claim 1 , wherein executing each registered callback function further comprises: determining each of the plurality of event context elements matches a user specified filter; executing each registered callback function within the virtual machine; determining an applicable native exception applies to any registered callback function; and processing the applicable native exception to each registered callback function. 6. The method of claim 1 , wherein registering each received callback function includes registering each callback function during a startup of the virtual machine tool interface when a plurality of class files have not been prepared using at least one class prepared enclosing callback. 7. The method of claim 1 , wherein registering each callback function includes registering each callback function to at least one method exit using at least one method call enclosing callback and at least one frame pop enclosing callback. 8. A computer system for registering a plurality of callbacks, the computer system comprising: one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising: registering each of a plurality of callback functions in a virtual machine tool interface within a virtual machine to a list of callback functions for an event based on a plurality of event context elements associated with each callback function; in response to the event occurring, generating a local frame for each registered callback function within the list of callback functions for the determined event; and executing each registered callback function, concurrently, based on each generated local frame associated with each registered callback function. 9. The computer system of claim 8 , further comprising: determining each registered callback function is to be deregistered; terminating the generated local frame; and deregistering each determined callback function. 10. The computer system of claim 8 , wherein the event includes at least one of a breakpoint event, a class prepared event, a method call event, a virtual machine death event, or a frame pop event. 11. The computer system of claim 8 , wherein the plurality of event context elements includes at least one of a callback name, a callback class, a method name, a method signature, or a bytecode location. 12. The computer system of claim 8 , wherein executing each registered callback function further comprises: determining each of the plurality of event context elements matches a user specified filter; executing each registered callback function within the virtual machine; determining an applicable native exception applies to any registered callback function; and processing the applicable native exception to each registered callback function. 13. The computer system of claim 8 , wherein registering each callback function includes registering each callback function during a startup of the virtual machine tool interface when a plurality of class files have not been prepared using at least one class prepared enclosing callback. 14. The computer system of claim 8 , wherein registering each callback function includes registering each callback function to at least one method exit using at least one method call enclosing callback and at least one frame pop enclosing callback. 15. A computer program product for registering a plurality of callbacks, the computer program product comprising: one or more computer-readable tangible storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor capable of performing a method, the method comprising: registering each of a plurality of callback functions in a virtual machine tool interface within a virtual machine to a list of callback functions for an event based on a plurality of event context elements associated with each callback function; in response to the event occurring, generating a local frame for each registered callback function within the list of callback functions for the determined event; and executing each registered callback function, concurrently, based on each generated local frame associated with each registered callback function. 16. The computer program product of claim 15 , further comprising: determining each registered callback function is to be deregistered; terminating the generated local frame; and deregistering each determined callback function. 17. The computer program product of claim 15 , wherein the event includes at least one of a breakpoint event, a class prepared event, a method call event, a virtual machine death event, or a frame pop event. 18. The computer program product of claim 15 , wherein each of the plurality of event context elements includes at least one of a callback name, a callback class, a method name, a method signature, or a bytecode location. 19. The computer program product of claim 15 , wherein executing each registered callback function further comprises: determining an event context element matches a user specified filter; executing each registered callback function within the virtual machine; determining an applicable native exception applies to any registered callback function; and processing the applicable native exception to each registered callback function. 20. The computer program product of claim 15 , wherein registering each callback function includes registering each callback function during a startup of the virtual machine tool interface when a plurality of class files have not been prepared using at least one class prepared enclosing callback.

Assignees

Inventors

Classifications

  • Interprogram communication · CPC title

  • Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation · CPC title

  • Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

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 US10338952B2 cover?
A method for registering a plurality of callbacks. The method may include receiving at least one callback function in a virtual machine, which includes a plurality of callback registration information. The method may include registering each at least one received callback function in a virtual machine tool interface within the virtual machine to a list of callback functions for an event based o…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45504. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 02 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).