Method and computer program product for implementing...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S152000, C717S152000, C709S241000, C709S241000, C709S241000, C709S241000, C710S200000, C711S118000, C711S168000, C707S793000

Reexamination Certificate

active

06330714

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to the data processing field, and more particularly, relates to a method and computer program product for implementing redundant lock avoidance in a computer system.
DESCRIPTION OF THE RELATED ART
The Java technology has a locking mechanism as part of its language definition. Serialization/locking can be obtained over objects in Java by using the Synchronized keyword.
Since the Java language is also thread capable, the use of the keyword becomes the norm for coding many methods. Overuse of this keyword to provide serialization leads to poor performance for Java applications.
A need exists for an improved method and computer program product for implementing redundant lock avoidance in a computer system.
SUMMARY OF THE INVENTION
A principal object of the present invention is to provide an improved method and computer program product for implementing redundant lock avoidance in a computer system. Other important objects of the present invention are to provide such method and computer program product for implementing redundant lock avoidance substantially without negative effect and that overcome many of the disadvantages of prior art arrangements.
In brief, a method and computer program product are provided for implementing redundant lock avoidance in a virtual call sequence in a computer system. A first copy of each synchronized method with synchronization enabled and a second copy of each the synchronized method without synchronization enabled are provided. For each virtual call to an object in the virtual call sequence, reaching definition analysis for an object pointer to the object is performed. For each reaching definition of the pointer, it is determined whether each reaching definition represents a pointer to an object known to be locked. Responsive to identifying the pointer to the object not known to be locked, the first copy of the synchronized method with synchronization enabled is selected to be executed. Responsive to identifying the pointer to the object known to be locked, the second copy of the synchronized method without synchronization enabled is selected to be executed.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein:
FIG. 1 and 2
are block diagram representations of a computer or data processing system and of an operation system of the preferred embodiment;
FIG. 2A
is a flow chart illustrating a common virtual call sequence in a computer system;
FIGS. 3 and 4
are flow charts illustrating exemplary virtual call sequences of the preferred embodiment;
FIG. 5
is a chart illustrating structures used in the sequence of
FIG. 2A
;
FIG. 6
is a is a chart illustrating structures used in the sequences of
FIGS. 3 and 4
of the preferred embodiment;
FIG. 7
is a flow chart illustrating exemplary method steps used in compiling a program in accordance with the preferred embodiment; and
FIG. 8
is a block diagram illustrating a computer program product in accordance with the preferred embodiment.


REFERENCES:
patent: 5265245 (1993-11-01), Nordstrom et al.
patent: 5473777 (1995-12-01), Moeller et al.
patent: 5701470 (1997-12-01), Joy et al.
patent: 5761670 (1998-06-01), Joy
patent: 5862376 (1999-01-01), Steele, Jr. et al.
patent: 5875461 (1999-02-01), Lindholm
patent: 6108754 (2000-08-01), Lindholm
patent: 6134627 (2000-10-01), Bak
Inohara et al., “Page-Based Optimistic Concurrency Control for Memory-Mapped Persistent Object Systems,” IEEE vol. III, Proceedings of the Twenty-Eight Hawaii Int'l Conf. on System Sciences, pp. 645-654 vol. 2, Jan. 3-6 1995.*
Allan Vermeulen, “Java Deadlock, The woes of multithreaded design,” Dr. Dobb's Journal, Sep. 1997.*
“Compilers—Principles, Techniques, and Tools”, by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman, Mar. 1998, secs. 10.4-10.7, pp. 608-633.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and computer program product for implementing... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and computer program product for implementing..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and computer program product for implementing... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2571550

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.