1997-01-14
1999-05-25
Hafiz, Tariq R.
395702, 395705, 395708, G06F 945
Patent
active
059077077
ABSTRACT:
The mechanism includes three data structures: object data associated with each object O1, O2, O3 . . . of a program, a class descriptor associated with the classes to which the objects O1, O2, O3 . . . belong, and interface references. For each class C.sub.i, the class descriptor corresponding to the class C.sub.i includes: i) a class method table comprising one or more entries, wherein each entry identifies an implementation of a method inherited or defined by the class C.sub.i ; and ii) for each interface implemented by the class C.sub.i, an interface method table comprising one or more entries, wherein each entry identifies an implementation of a method declared by the particular interface or an implementation of a method declared by an interface extended by the particular interface. An interface reference for an interface declaration ID associated with a given object OI, wherein the object OI implements methods that are declared by an interface declaration ID includes a pointer to the interface method table corresponding to the interface declaration ID within the class descriptor corresponding to the object OI. An efficient mechanism for method invocations is provided by generating an index that identifies the entry corresponding to the appropriate method in the interface method table pointed to by the pointer of the interface reference, reading the data stored by the entry identified by the index, and controlling the computer processing apparatus to jump to the address identified by the data.
REFERENCES:
patent: 5265206 (1993-11-01), Shackelford et al.
patent: 5361350 (1994-11-01), Conner et al.
patent: 5367685 (1994-11-01), Gosling
patent: 5404525 (1995-04-01), Endicott et al.
patent: 5481708 (1996-01-01), Kukol
patent: 5493680 (1996-02-01), Danforth
patent: 5748964 (1998-05-01), Goslings
"An Object Addressing Mechanism for Statically Typed Languages with Multiple Inheritance", R.C.H. Connor et al., OOPSLA '89 Proceesings, pp. 279-285.
"A Fast Method Dispatcher for Compiled Languages with Multiple Inheritance", R. Dixon et al., OOPSLA '89 Proceedings, pp. 211-214.
"Message Dispatch on Pipelined Processors", K. Driesen et al., ECOOP '95 Proceedings, pp. 252-282.
"Minimizing Row Displacement Dispatch Tables", K. Kriesen et al., OOPSLA '95 Austin, Texas, pp. 141-155.
"Optimizing Dynamically-Typed Object-Oriented Languages with Polymorphic Inline Caches", U. Holzle et al., ECOOP '91 Proceedings, pp. 20-38.
"Bidirectional Object Layout for Separate Compilation", A. Myers et al., OOPSLA '95 Austin Tx., pp. 124-139.
"Two-directional record layout for multiple inheritance", W. Pugh et al., Proc. of the ACM SIGPLAN '90 Conference, Jun. 1990, pp. 85-91.
"Fast Dispatch Mechanism for Stock Hardware", J. Rose et al., OOPSLA '88 Conf. Proc., pp. 27-35.
Jason Steinhorn, Compiling Java, Embedded system programming, vol. 11, No. 10, pp. 42-56, Sep. 1998.
Singhal & Nguyen, "The Java Factor", Comm. of the ACM, vol. 41, No. 6, pp. 35-37, Jun. 1998.
Ramalingam Ganesan
Srinivasan Harini
Hafiz Tariq R.
International Business Machines - Corporation
Khatri Anil
LandOfFree
Object model for Java does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Object model for Java, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object model for Java will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-407893