Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Page images | Web History | Sign in

Patents

  

IIIIIIIH

US006438560B1

(12) United States Patent ao) Patent No.: us 6,438,560 Bi

Loen (45) Date of Patent: Aug. 20,2002 Page 2

(54) REUSE OF IMMUTABLE OBJECTS DURING OBJECT CREATION

(75) Inventor: Larry Wayne Loen, Rochester, MN (US)

(73) Assignee: International Business Machines Corporation, Armonk, NY (US)

( * ) Notice: Subject to any disclaimer, the term ol this patent is extended or adjusted under 35 U.S.C. 154(b) by 0 days.

(21) Appl. No.: 09/397,211

(22) Filed: Sep. 16, 1999

(51) Int. CI.7 G06F 17/30

(52) U.S. CI 707/103; 707/100

(58) Field of Search 707/100, 103,

707/3, 6, 104; 709/328; 711/145, 141, 118,

171

(56) References Cited

U.S. PATENT DOCUMENTS

4,775,955 A 10/1988 Liu 711/145

5,715,430 A 2/1998 Hirayama 711/141

5,724,588 A * 3/1998 Hill et al 709/328

5,875,461 A 2/1999 Lindholm 711/118

6,052,699 A 4/2000 Huelsbergen et al 707/206

6,141,737 A 10/2000 Krantz et al 711/171

FOREIGN PATENT DOCUMENTS

EP 0913769 A2 5/1999 G06F/9/44

JP 8314943 11/1996 G06F/17/30

OTHER PUBLICATIONS

L. Monson, "Caching & WeakReferences", JAVA Develop-
er's Journal, vol. 3, Issue 8, (Sep. 1998), pp. 32-36.
P. Wilson et al., "Dynamic Storage Allocation: A Survey and
Critical Review", Department ol Computer Sciences, Uni-
versity ol Texas at Austin, (1995), pp. 1-78.
H. Baker, "CONS Should not CONS its Arguments, or, a
Lazy Alloc is a Smart Alloc," ACM Sigplan Notices, vol. 27,
No. 3, pp. 24-34, Mar. 1992.

H. Baker, "Optimizing Allocation and Garbage Collection ol Spaces," Artificial Intelligence, An MIT Perspective, vol. 2, pp. 391-396, 1979.

G. Bozman et al., "Analysis ol Free-Storage Algorithm— Revisited," IBM Systems Journal, vol. 23, No. 1, pp. 44-64, 1984.

(List continued on next page.) Primary Examiner—Sanjiv Shah

(74) Attorney, Agent, or Firm—Wood, Herron & Evans, LLP

(57) ABSTRACT

An apparatus, program product, and method ol processing a request to create an immutable object reuse an existing immutable object in appropriate circumstances to represent redundant data without the necessity for creating an additional immutable object. Prior to creating a new object in response to a request to create an immutable object, a determination is made as to whether a matching immutable object already exists that has the same contents as the requested immutable object. II so, creation ol a new object is inhibited, and a relerence to the matching immutable object is returned in response to the request.

17 Claims, 3 Drawing Sheets

[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][graphic][merged small][merged small][merged small][graphic][merged small][graphic][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small]

OTHER PUBLICATIONS

S. Matsuoka et al., "A Fast Parallel Conservative Garbage Collector for Concurrent Object-Oriented Systems," IEEE, pp. 87-93, 1991.

C. McDowell, "Reducing Garbage in Java," ACM SIG-
PLAN Notices, vol. 33, No. 9, pp. 84-86, Sep. 1998.
Y. Park et al, "Escape Analysis on Lists," ACM SIGPLAN
'92, pp. 116-127, 1992.

L. Smith, IBM TDB, "Software Mechanism to Reuse Object Instances for Improved Performance," vol. 38, No. 10, pp. 237-241, Oct. 1995.

Java Platform 1.2 API Specification: Interface ResultSet, http://www.javasoft.eom/products/jdk/l.2/docs/api/java/sql/ ResultSet.html, downloaded May 17, 1999, 46 pages.

Java Platform 1.2 API Specification: Class Hashtable, http://www.javasoft.eom/products/jdk/l.2/docs/api/java/ util/Hastable.html, downloaded May 17, 1999, 10 pages.

High-performance Computing in the Asia Pacific Region Proceedings, May 14-17, 2000, W. H. Lee et al., "Evaluating of a High-performance Object Reuse Dynamic Memory Allocation Policy for C++ Programs," vol. 1, pp. 386-391.

Wiebe, "A distributed repository for immutable persistent objects", OOPSLA 86, Oct. 2, 1986, pp. 453-465.*

Klemm, "Practical guidelines for boosting Java server performance", Proceedings of ACM 1999 Java Grande Conference, pp. 25-34, Jun. 14, 1999.*

* cited by examiner

[graphic][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small]
[merged small][merged small][merged small][merged small][merged small][merged small][merged small][graphic][merged small][merged small][table][graphic][merged small][merged small][merged small][merged small][merged small][graphic][merged small][merged small][merged small][merged small][merged small][graphic][graphic]
« PreviousContinue »