Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
186 words
A method in a computer system for invoking virtual function members of classes, the method comprising the computer-implemented steps of: allocating a virtual function table for each of the classes, each virtual function table having entries that are ordered from a first entry to a last entry, each entry containing a reference to a virtual function member of the class for which the table is allocated; generating a thunk corresponding to each ordered entry of the allocated virtual function tables, the thunk for receiving a reference to an object of a class and for invoking the virtual function member of the class referenced by the corresponding ordered entry of the allocated virtual function table for the class; and for each invocation of a virtual function member of a class, invoking a thunk that corresponds to the ordered entry of the allocated virtual function table for the class at which the reference to the virtual function member is stored, wherein the thunk retrieves the reference to the virtual function member and transfers control to the virtual function member and wherein the thunks are shared by the classes.
Claim 2
Independent Claim
186 words
A method in a computer system for invoking virtual function members of classes, the method comprising the computer-implemented steps of: allocating a virtual function table for each of the classes, each virtual function table having entries that are ordered from a first entry to a last entry, each entry containing a reference to a virtual function member of the class for which the table is allocated; generating a thunk corresponding to each ordered entry of the allocated virtual function tables, the thunk for receiving a reference to an object of a class and for invoking the virtual function member of the class referenced by the corresponding ordered entry of the allocated virtual function table for the class; and for each invocation of a virtual function member of a class, invoking a thunk that corresponds to the ordered entry of the allocated virtual function table for the class at which the reference to the virtual function member is stored, wherein the thunk retrieves the reference to the virtual function member and transfers control to the virtual function member and wherein the thunks are shared by the classes.
Claim 3
Dependent Claim
39 words
The method of claim 1 wherein the object includes a pointer to the allocated virtual function table for the class and wherein the thunk retrieves the pointer to the allocated virtual function table for the class from the object.
Claim 4
Dependent Claim
48 words
The method of claim 1 wherein one of the allocated virtual function tables has a number of ordered entries that is greatest and the step of generating a thunk corresponding to each ordered entry, generates a thunk for each of the number of ordered entries that is greatest.
Claim 5
Independent Claim
217 words
A method in a computer system for invoking a virtual function member of one of a plurality of classes, each class having a virtual function table, each virtual function table having ordered entries, each ordered entry containing a reference to a virtual function member of the class, each ordered entry having a thunk corresponding to the ordered entry, the method comprising the computer-implemented steps of: retrieving a reference to an object of a class; retrieving a reference to a thunk that corresponds to the ordered entry of the virtual function table of the class of the object that contains the reference to the virtual function member to be invoked; invoking the thunk referenced by the retrieved reference to the thunk and passing to the thunk the retrieved reference to the object; under control of the invoked thunk, retrieving the reference corresponding to the virtual function member to be invoked from the ordered entry of the virtual function table of the class that corresponds to the thunk; and transferring control from the thunk to the virtual function member referenced by the retrieved reference to the virtual function member to be invoked and passing to the virtual function member the retrieved reference to the object; and under control of the virtual function member, returning from the virtual function member.
Claim 6
Independent Claim
217 words
A method in a computer system for invoking a virtual function member of one of a plurality of classes, each class having a virtual function table, each virtual function table having ordered entries, each ordered entry containing a reference to a virtual function member of the class, each ordered entry having a thunk corresponding to the ordered entry, the method comprising the computer-implemented steps of: retrieving a reference to an object of a class; retrieving a reference to a thunk that corresponds to the ordered entry of the virtual function table of the class of the object that contains the reference to the virtual function member to be invoked; invoking the thunk referenced by the retrieved reference to the thunk and passing to the thunk the retrieved reference to the object; under control of the invoked thunk, retrieving the reference corresponding to the virtual function member to be invoked from the ordered entry of the virtual function table of the class that corresponds to the thunk; and transferring control from the thunk to the virtual function member referenced by the retrieved reference to the virtual function member to be invoked and passing to the virtual function member the retrieved reference to the object; and under control of the virtual function member, returning from the virtual function member.
Claim 7
Independent Claim
157 words
A method in a computer system for generating a virtual base table for a derived class that virtually inherits a base class, the derived class having members, the method comprising the steps of: allocating a virtual base table with an entry for the base class and an entry for the derived class; setting the entry for the base class to refer to an occurrence of the base class within an object of the derived class; and setting the entry for the derived class to refer to the object of the derived class wherein when generating a reference to a member of the derived class, the reference is generated to access the member through the virtual base table so that when the derived class is virtually inherited by a further derived class, the generated reference can access the occurrence of the derived class in the further derived class through the virtual base table of the further derived class.
Claim 8
Independent Claim
157 words
A method in a computer system for generating a virtual base table for a derived class that virtually inherits a base class, the derived class having members, the method comprising the steps of: allocating a virtual base table with an entry for the base class and an entry for the derived class; setting the entry for the base class to refer to an occurrence of the base class within an object of the derived class; and setting the entry for the derived class to refer to the object of the derived class wherein when generating a reference to a member of the derived class, the reference is generated to access the member through the virtual base table so that when the derived class is virtually inherited by a further derived class, the generated reference can access the occurrence of the derived class in the further derived class through the virtual base table of the further derived class.
Claim 9
Independent Claim
182 words
A method in a computer system for generating pointers to data members of base classes that are virtually inherited by a derived class, comprising the computer-implemented steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a data member of an occurrence of a virtually inherited base class within the derived class, allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of the data member within the occurrence of the virtually inherited base class within the derived class wherein the pointer is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class and using the offset indicator for locating the position of the data member within the occurrence of the virtually inherited base class within the derived class.
Claim 10
Independent Claim
182 words
A method in a computer system for generating pointers to data members of base classes that are virtually inherited by a derived class, comprising the computer-implemented steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a data member of an occurrence of a virtually inherited base class within the derived class, allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of the data member within the occurrence of the virtually inherited base class within the derived class wherein the pointer is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class and using the offset indicator for locating the position of the data member within the occurrence of the virtually inherited base class within the derived class.
Claim 11
Dependent Claim
48 words
The method of claim 6 further including the step of for each pointer to a data member of an occurrence of a virtually inherited base class within the derived class, allocating an virtual base indicator for indicating a position within the derived class of the virtual base table.
Claim 12
Independent Claim
208 words
A method in a computer system for generating pointers to function members of base classes that are virtually inherited by a derived class, comprising the computer-implemented steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a function member of an occurrence of a virtually inherited base class within the derived class, allocating a virtual function member indicator for indicating a position of the virtual function member within a virtual function table for the virtually inherited base class; allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of a this pointer within the occurrence of the virtually inherited base class within the derived class wherein the pointer to the function member is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class, using the offset indicator for setting the this pointer within the occurrence of the virtually inherited base class within the derived class.
Claim 13
Independent Claim
208 words
A method in a computer system for generating pointers to function members of base classes that are virtually inherited by a derived class, comprising the computer-implemented steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a function member of an occurrence of a virtually inherited base class within the derived class, allocating a virtual function member indicator for indicating a position of the virtual function member within a virtual function table for the virtually inherited base class; allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of a this pointer within the occurrence of the virtually inherited base class within the derived class wherein the pointer to the function member is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class, using the offset indicator for setting the this pointer within the occurrence of the virtually inherited base class within the derived class.
Claim 14
Dependent Claim
231 words
A computer-readable storage device containing instructions for controlling a computer system to invoke a virtual function member of one of a plurality of classes, each class having a virtual function table, each virtual function table having ordered entries, each ordered entry containing a reference to a virtual function member of the class, each ordered entry having a thunk corresponding to the ordered entry, the virtual function member of one of a plurality of classes invoked by the steps of: retrieving a reference to an object of a class; retrieving a reference to a thunk that corresponds to the ordered entry of the virtual function table of the class of the object that contains the reference to the virtual function member to be invoked; invoking the thunk referenced by the retrieved reference to the thunk and passing to the thunk the retrieved reference to the object; under control of the invoked thunk, retrieving the reference corresponding to the virtual function member to be invoked from the ordered entry of the virtual function table of the class that corresponds to the thunk; and transferring control from the thunk to the virtual function member referenced by the retrieved reference to the virtual function member to be invoked and passing to the virtual function member the retrieved reference to the object; and under control of the virtual function member, returning from the virtual function member.
Claim 15
Dependent Claim
231 words
A computer-readable storage device containing instructions for controlling a computer system to invoke a virtual function member of one of a plurality of classes, each class having a virtual function table, each virtual function table having ordered entries, each ordered entry containing a reference to a virtual function member of the class, each ordered entry having a thunk corresponding to the ordered entry, the virtual function member of one of a plurality of classes invoked by the steps of: retrieving a reference to an object of a class; retrieving a reference to a thunk that corresponds to the ordered entry of the virtual function table of the class of the object that contains the reference to the virtual function member to be invoked; invoking the thunk referenced by the retrieved reference to the thunk and passing to the thunk the retrieved reference to the object; under control of the invoked thunk, retrieving the reference corresponding to the virtual function member to be invoked from the ordered entry of the virtual function table of the class that corresponds to the thunk; and transferring control from the thunk to the virtual function member referenced by the retrieved reference to the virtual function member to be invoked and passing to the virtual function member the retrieved reference to the object; and under control of the virtual function member, returning from the virtual function member.
Claim 16
Dependent Claim
186 words
A computer-readable storage device containing instructions for controlling a computer system to generate pointers to data members of base classes that are virtually inherited by a derived class by the steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a data member of an occurrence of a virtually inherited base class within the derived class, allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of the data member within the occurrence of the virtually inherited base class within the derived class wherein the pointer is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class and using the offset indicator for locating the position of the data member within the occurrence of the virtually inherited base class within the derived class.
Claim 17
Dependent Claim
186 words
A computer-readable storage device containing instructions for controlling a computer system to generate pointers to data members of base classes that are virtually inherited by a derived class by the steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a data member of an occurrence of a virtually inherited base class within the derived class, allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of the data member within the occurrence of the virtually inherited base class within the derived class wherein the pointer is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class and using the offset indicator for locating the position of the data member within the occurrence of the virtually inherited base class within the derived class.
Claim 18
Dependent Claim
50 words
The computer-readable storage device of claim 10 further including the step of for each pointer to a data member of an occurrence of a virtually inherited base class within the derived class, allocating an virtual base indicator for indicating a position within the derived class of the virtual base table.
Claim 19
Dependent Claim
212 words
A computer-readable storage device containing instruction for controlling a computer system to generate pointers to function members of base classes that are virtually inherited by a derived class by the steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a function member of an occurrence of a virtually inherited base class within the derived class, allocating a virtual function member indicator for indicating a position of the virtual function member within a virtual function table for the virtually inherited base class; allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of a this pointer within the occurrence of the virtually inherited base class within the derived class wherein the pointer to the function member is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class, using the offset indicator for setting the this pointer within the occurrence of the virtually inherited base class within the derived class.
Claim 20
Dependent Claim
212 words
A computer-readable storage device containing instruction for controlling a computer system to generate pointers to function members of base classes that are virtually inherited by a derived class by the steps of: allocating a virtual base table for the derived class that contains a reference to an occurrence within the derived class of each direct and indirect base class that is virtually inherited; and for each pointer to a function member of an occurrence of a virtually inherited base class within the derived class, allocating a virtual function member indicator for indicating a position of the virtual function member within a virtual function table for the virtually inherited base class; allocating an occurrence indicator for indicating the reference within the virtual base table to the occurrence of the virtually inherited base class within the derived class; and allocating an offset indicator for indicating a position of a this pointer within the occurrence of the virtually inherited base class within the derived class wherein the pointer to the function member is dereferenced by using the occurrence indicator to locate the occurrence of the virtually inherited base class within the derived class, using the offset indicator for setting the this pointer within the occurrence of the virtually inherited base class within the derived class.