IP Library Granted Patent US 8,112,765
Granted Patent B2
US 8,112,765 · App. 12/407,139 · Granted Feb 7, 2012

Mechanism that provides more efficient event handler processing

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,112,765
App. No.
12/407,139
Granted
Feb 7, 2012
Kind
B2
Abstract

Disclosed is an apparatus, method, service product, and program product which each provide an enhanced, registration-based event handler mechanism. Listener programs are located and compiled before notification is needed. When notification is ultimately required, the pre-located listeners can be called directly without incurring the performance expense associated with first locating and then calling each listener.

Claims (19)

1. A program product for optimizing a computer program in a virtual machine environment, comprising:

a non-transitory computer-readable medium tangibly embodying a plurality of instructions executable by a machine to perform the method comprising:

receiving a first version of said computer program embodied as programming code in said virtual machine environment, said first version of said computer program including a plurality of sub-programs and an event structure containing a plurality of event notification objects, each event notification object identifying a respective event and a respective sub-program of said plurality of sub-programs which has been registered to be notified upon the occurrence of the respective event;

accessing said event structure to identify a plurality of said events and corresponding sub-programs to be notified upon the occurrence of the corresponding event;

with respect to each of a plurality of said events identified by said step of accessing said event structure to identify a plurality of said events, generating respective event response programming code in said virtual machine environment, each respective event response programming code making a respective direct call within said computer program to each sub-program which has been registered to be notified upon the occurrence of the respective event; and

incorporating each respective event response programming code generated by said step of generating respective event response programming code in said computer program to create a second version of said computer program.

2. The program product of claim 1 wherein said virtual machine is a Common Language Runtime (CLR) virtual machine.

3. The program product of claim 1 wherein said virtual machine is a Java Virtual Machine (JVM).

4. The program product of claim 1 wherein said virtual machine environment includes an event handler, and wherein accessing said event structure to identify a plurality of said events and corresponding sub-programs to be notified upon the occurrence of the corresponding event comprises inspecting a code representation of said event handler to identify said event structure.

5. The program product of claim 1 , wherein said program product comprises a just-in-time (JIT) compiler.

6. A computer system, comprising:

a memory;

at least one processor in communication with said memory;

an event optimization mechanism embodied as instructions storage in said memory and executable by said at least one processor, said event optimization mechanism for optimizing a computer program embodied as programming code in a virtual machine environment, said computer program including a plurality of sub-programs and an event structure containing a plurality of event notification objects, each event notification object identifying a respective event and a respective sub-program of the plurality of sub-programs which has been registered to be notified upon the occurrence of the respective event

wherein said event optimization mechanism processes said computer program to identify a plurality of events and corresponding sub-programs to be notified upon the occurrence of the corresponding event, and with respect to each of a plurality of said events so identified, causes respective event response programming code in said virtual machine environment to be generated, each respective event response programming code making a respective direct call within said computer program to each sub-program which has been registered to be notified upon the occurrence of the respective event; and

wherein said event optimization mechanism incorporates each said respective event response programming code in said computer program to create an optimized version of said computer program.

7. The computer system of claim 6 wherein said virtual machine is a Common Language Runtime (CLR) virtual machine.

8. The computer system of claim 6 wherein said virtual machine is a Java Virtual Machine (JVM).

9. The computer system of claim 6 , wherein said event optimization mechanism is part of a just-in-time (JIT) compiler.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT NUMBERS 10342096;10671117; 10716375; 10716376;10795407;10795408; AND 10827591 PREVIOUSLY RECORDED AT REEL: 58314 FRAME: 657. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 29, 2024
From: RAKUTEN, INC.
To: RAKUTEN GROUP, INC.
Reel/Frame 068066/0103 →
CHANGE OF NAME Recorded Dec 6, 2021
From: RAKUTEN, INC.
To: RAKUTEN GROUP, INC.
Reel/Frame 058314/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: RAKUTEN, INC.
Reel/Frame 035176/0391 →
Continuity (2)
Continuation 11035553 · Jan 14, 2005
Related Publication 20090254923A1 · Oct 8, 2009