Method for implementing multiple type hierarchies
AssigneeIntel Corporation
InventorMichal J. Cierniak
Life of this patent
Estimating the term…
Abstract
A system and method of unifying data structures is described. Equivalent data structures are combined so that multiple programming languages can recognize the data structure. One embodiment includes a data structure. The data structure includes a pointer to a vtable. The vtable includes at least one pointer. The pointer points to one or more classes and at least one of the classes includes a unified type hierarchy.
Claims18
A data structure stored on a computer readable storage medium, the data structure comprising:
- a table for virtual method dispatch and type identification, wherein the table includes a plurality of pointers, wherein the plurality of pointers point to a plurality of classes and wherein the plurality of classes include at least one unified type hierarchy;
- wherein the unified type hierarchy includes a first name from a first programming language, wherein the first name identifies an assigned object in the first programming language;
- a second name from a second programming language, wherein the second name identifies the assigned object in the second programming language;
- and
- a pointer to an implementation of the assigned object.
A computer system comprising:
- a processor;
- an input/output system coupled to the processor via a bus system;
- a memory system coupled to the bus, wherein the memory system includes processor executable instructions that when executed configure the processor to
- receive a plurality of data structures, wherein the each one of the plurality of data structures are from a different one of the plurality of programming languages;
- compare the implementation of each one of the plurality of data structures;
- identify at least two of the plurality of data structures that have identical implementations;
- and
- eliminate one of the identical implementations to create a unified data structure recoanizable by the plurality of programming languages for a table for virtual method dispatch and type identification.
A method implemented on a data processing system, the method comprising:
- receiving a plurality of data structures, wherein the each one of the plurality of data structures are from a different one of a plurality of programming languages;
- comparing the implementation of each one of the plurality of data structures;
- identifying at least two of the plurality of data structures that have identical implementations;
- and
- creating a unified data structure wherein the unified data structure includes
- a first name from a first programming language, wherein the first name identifies one of the identified data structures in the first programming language;
- a second name from a second programming language, wherein the second name identifies one of the identified data structures in the second programming language;
- and
- a pointer to an implementation of the identified data structures.
A computer system comprising:
- a processor;
- an input/output system coupled to the processor via a bus system;
- a memory system coupled to the bus, wherein the memory system includes processor executable instructions that when executed configure the processor to
- receive a plurality of data structures, wherein the each one of the plurality of data structures are from a different one of a plurality of programming languages;
- compare the implementation of each one of the plurality of data structures;
- identify at least two of the plurality of data structures that have identical implementations;
- and
- create a unified data structure wherein the unified data structure includes
- a first name from a first programming language, wherein the first name identifies one of the identified data structures in the first programming language;
- a second name from a second programming language, wherein the second name identifies one of the identified data structures in the second programming language;
- and
- a pointer to an implementation of the identified data structures.
A method implemented on a data processing system, the method comprising:
- receiving a plurality of data structures, wherein the each one of the plurality of data structures are from a different one of a plurality of programming languages;
- comparing the implementation of each one of the plurality of data structures;
- identifying at least two of the plurality of data structures that have identical implementations;
- and
- eliminating one of the identical implementations to create a unified data structure recognizable by the plurality of programming languages for a table for virtual method dispatch and type identification.
Dependencies are inferred from the claim text.