Method and mechanism for invocation on objects with interface inheritance
First Claim
1. A computer implemented method for invocation of operations on objects with interface inheritance in an object oriented programming environment on a data processor containing memory, in which a plurality of objects are categorized into classes according to related operations, said method comprising:
- creating an mtable for an apparent interface for an object, the mtable including a plurality of pointers to functions for said interface and a plurality of pointers to additional mtables, said additional mtables being for a plurality of inherited interfaces of said object and having the same table structure as said mtable for said apparent interface;
providing an identifier field including identifier information for said mtable contained within said mtable;
providing a first count field identifying a numerical count of said plurality of pointers to functions contained within said mtable;
providing a second count field identifying a numerical count of said plurality of pointers to additional mtables contained within said table;
pointing to data for said object using a pointer, said pointer being part of an object reference, said data for said object being separate from said object reference;
pointing to said mtable for said object using a pointer, said pointer being part of said object reference, said pointing to data and said pointing to said mtable being facilitated by said object reference using separate pointers; and
invoking a plurality of operations on said data and said mtable pointed to by said object reference.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus in an object oriented programming environment for invocation of objects with interface inheritance. An object reference using mtables contains two parts, more specifically, a pointer to the data for an object and a pointer to the methods on the object. The methods on the object are represented by a collection of mtables. An mtable for a given interface consists of pointers to mtables for inherited interfaces and pointers to functions implementing the operations declared in the interface. An mtable pointer in an object reference points to an mtable for an apparent interface of the object reference. Mtables for any inherited interfaces are reached by indirection from the mtables for the apparent interface.
-
Citations
21 Claims
-
1. A computer implemented method for invocation of operations on objects with interface inheritance in an object oriented programming environment on a data processor containing memory, in which a plurality of objects are categorized into classes according to related operations, said method comprising:
-
creating an mtable for an apparent interface for an object, the mtable including a plurality of pointers to functions for said interface and a plurality of pointers to additional mtables, said additional mtables being for a plurality of inherited interfaces of said object and having the same table structure as said mtable for said apparent interface;
providing an identifier field including identifier information for said mtable contained within said mtable;
providing a first count field identifying a numerical count of said plurality of pointers to functions contained within said mtable;
providing a second count field identifying a numerical count of said plurality of pointers to additional mtables contained within said table;
pointing to data for said object using a pointer, said pointer being part of an object reference, said data for said object being separate from said object reference;
pointing to said mtable for said object using a pointer, said pointer being part of said object reference, said pointing to data and said pointing to said mtable being facilitated by said object reference using separate pointers; and
invoking a plurality of operations on said data and said mtable pointed to by said object reference. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for invocation of operations on objects with interface inheritance in an object oriented programming environment on a data processor containing memory, in which a plurality of objects are categorized into classes according to related operations, said apparatus comprising:
-
a plurality of mtables, one being for an apparent interface for an object, the mtable including a plurality of pointers to functions for said interface, and a plurality of pointers to additional mtables, said additional mtables being for a plurality of inherited interfaces of said object and having the same table structure as said mtable for said apparent interface, said separate pointer and said table structure allowing for more efficient handling of the invocation of operation on said object with said plurality of inherited interfaces;
an identifier field including identifier information for said mtable contained within said mtable;
a first count field identifying a numerical count of said plurality of pointers to functions contained within said mtable;
a second count field identifying a numerical count of said plurality of pointers to additional mtables contained within said table;
a pointer to data for said object, said pointer being part of an object reference, said data for said object being separate from said object reference;
a pointer to said mtable for said object, said pointer being part of said object reference, said pointer to said data and said pointer to said mtable facilitated by said object reference using separate pointers; and
circuitry invoking a plurality of operations on said data and said plurality of mtables pointed to by said object reference. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system for invocation of operations on objects with interface inheritance in an object oriented programming environment on a data processor containing memory, in which a plurality of objects are categorized into classes according to related operations, said system comprising:
-
a plurality of mtables, one being for an apparent interface for an object, the mtables having a table structure including an identifier of said interface, a plurality of pointers to functions for said interface, and a plurality of pointers to additional mtables, said additional mtables being for a plurality of inherited interfaces of said object and having the same table structure as said mtable for said apparent interface, said separate pointer and said table structure allowing for more efficient handling of the invocation of operation on said object with said plurality of inherited interfaces;
an identifier field including identifier information for said mtable contained within said mtable;
a first count field identifying a numerical count of said plurality of pointers to functions contained within said mtable;
a second count field identifying a numerical count of said plurality of pointers to additional mtables contained within said table;
a pointer to data for said object, said pointer being part of an object reference, said data for said object being separate from said object reference;
a pointer to said mtable for said object, said pointer being part of said object reference, said pointer to said data and said pointer to said mtable facilitated by said object reference using separate pointers;
circuitry invoking a plurality of operations on said data and said plurality of mtables pointed to by said object reference; and
a compiler for generating said plurality of mtables. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification