Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
200 words
A method for accessing components of object instances for use with an object oriented software virtual machine comprising the steps of: a) allocating a first block of memory based on a class definition for one or more methods implemented in a class hierarchy; said class hierarchy including a base class and any additional classes derived from the base class; and b) instantiating instances of classes within said class hierarchy by performing the substeps of: i) allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer within the second block of memory to point to a specific memory location of the first block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to a location within the first block of memory for accessing the one or more methods of said class hierarchy; iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for the object instances within the class hierarchy; and iv) initializing a synchronization block for the object instance at an offset relative to the method table pointer.
Claim 2
Independent Claim
200 words
A method for accessing components of object instances for use with an object oriented software virtual machine comprising the steps of: a) allocating a first block of memory based on a class definition for one or more methods implemented in a class hierarchy; said class hierarchy including a base class and any additional classes derived from the base class; and b) instantiating instances of classes within said class hierarchy by performing the substeps of: i) allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer within the second block of memory to point to a specific memory location of the first block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to a location within the first block of memory for accessing the one or more methods of said class hierarchy; iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for the object instances within the class hierarchy; and iv) initializing a synchronization block for the object instance at an offset relative to the method table pointer.
Claim 3
Dependent Claim
42 words
The method of claim 1 wherein the software virtual machine is an interpreter for compiled Java language bytecodes and the first block stores interface methods implemented within the class hierarchy and also stores interface fields that are implemented within the class hierarchy.
Claim 4
Dependent Claim
42 words
The method of claim 1 wherein the methods include methods that are declared in Java interfaces and wherein said first memory block includes methods of each interface implemented in the base class or implemented in any additional class within the class hierarchy.
Claim 5
Dependent Claim
32 words
The method of claim 1 wherein the first block of memory includes memory locations for storing pointers to other memory blocks containing machine readable code that implements the one or more methods.
Claim 6
Dependent Claim
186 words
In a stored program computer system including memory for storing data and code, a process for interpreting Java language bytecodes based on a class structure made up of multiple classes and accessing object components comprising object data and methods of the objects within the class structure, said process comprising the steps of: a) allocating memory for a method procedure table in a computer memory to hold method procedure data for the methods of each class within the class structure; each method procedure table having an identified base location in the computer memory; b) defining the function for each of the plurality of methods by placing machine readable method procedure data at memory locations relative to the identified base location of said method procedure table; c) identifying an object instance area in the computer memory for object instances of the class structure and initializing a specific location of the object instance area to hold a pointer to the base location for the method procedure area of the class for that object instance; and d) initializing data unique to said object instance at offsets from the specific location.
Claim 7
Dependent Claim
186 words
In a stored program computer system including memory for storing data and code, a process for interpreting Java language bytecodes based on a class structure made up of multiple classes and accessing object components comprising object data and methods of the objects within the class structure, said process comprising the steps of: a) allocating memory for a method procedure table in a computer memory to hold method procedure data for the methods of each class within the class structure; each method procedure table having an identified base location in the computer memory; b) defining the function for each of the plurality of methods by placing machine readable method procedure data at memory locations relative to the identified base location of said method procedure table; c) identifying an object instance area in the computer memory for object instances of the class structure and initializing a specific location of the object instance area to hold a pointer to the base location for the method procedure area of the class for that object instance; and d) initializing data unique to said object instance at offsets from the specific location.
Claim 8
Dependent Claim
32 words
The method of claim 5 wherein the method procedure table data comprises pointers to compiled machine readable portions of code data that are derived from the Java language bytecodes of the methods.
Claim 9
Dependent Claim
34 words
The method of claim 6 wherein the compiled machine readable portions of code data are just in time (JIT) compiled code data based on the bytecode implementation of the methods of the class structure.
Claim 10
Dependent Claim
32 words
The method of claim 7 wherein the compiled machine readable portions of code data are generated when a method is encountered during interpretation of compiled Java language bytecodes from a class file.
Claim 11
Dependent Claim
25 words
The method of claim 8 wherein memory for the method procedure table is allocade when the class file associate with the procedure table is loaded.
Claim 12
Dependent Claim
207 words
Computer apparatus for interpreting compiled bytecodes of a computer program and accessing object instances of a class structure comprising: a) a computer memory for storing a virtual machine computer program and data; and b) a processor for executing a program stored in the memory that: i) allocates a first block of memory based on the class definition for all dynamic methods implemented by a class hierarchy that includes a base class and any additional classes derived from the base class; and ii) instantiates instances of classes within the class hierarchy derived from the base class in other memory blocks by initializing a method table pointer at a base location in said other memory block for each such instance in the class hierarchy, said method table pointer initialized to point to the first block of memory defining the dynamic methods for the class hierarchy; iii) initializes other data unique to each instance at offsets relative to the method table pointer within the other memory block for said class instance to speed the accessing of dynamic methods of the class hierarchy; and c) a communications interface for receipt of compiled bytecodes transmitted through the communications interface and wherein the virtual machine computer program stored in memory interprets the bytecodes.
Claim 13
Dependent Claim
207 words
Computer apparatus for interpreting compiled bytecodes of a computer program and accessing object instances of a class structure comprising: a) a computer memory for storing a virtual machine computer program and data; and b) a processor for executing a program stored in the memory that: i) allocates a first block of memory based on the class definition for all dynamic methods implemented by a class hierarchy that includes a base class and any additional classes derived from the base class; and ii) instantiates instances of classes within the class hierarchy derived from the base class in other memory blocks by initializing a method table pointer at a base location in said other memory block for each such instance in the class hierarchy, said method table pointer initialized to point to the first block of memory defining the dynamic methods for the class hierarchy; iii) initializes other data unique to each instance at offsets relative to the method table pointer within the other memory block for said class instance to speed the accessing of dynamic methods of the class hierarchy; and c) a communications interface for receipt of compiled bytecodes transmitted through the communications interface and wherein the virtual machine computer program stored in memory interprets the bytecodes.
Claim 14
Dependent Claim
255 words
A stored memory program for execution on a computer comprising a sequence of instructions for implementing a Java language virtual machine that interprets a compiled Java language program, said stored memory program comprising: a) a first code portion for allocating a first block of memory based on a class definition for methods implemented by a class hierarchy that includes a base class and any additional classes derived from the base class; and b) a second code portion for instantiating instances of classes within said class hierarchy by: allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer at a specific location within the second block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to the first block of memory containing definitions for the methods of said class hierarchy including pointers to code that is compiled based upon JAVA language data from a class file; and iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for object instances within the class hierarchy; and c) additional code portions for accessing object components by obtaining a reference to an object instance which points to the specific location within the second block of memory for that object instance and determining data and method locations by means of offsets from the specific location and accessing the method table pointer to access class methods of said object.
Claim 15
Dependent Claim
255 words
A stored memory program for execution on a computer comprising a sequence of instructions for implementing a Java language virtual machine that interprets a compiled Java language program, said stored memory program comprising: a) a first code portion for allocating a first block of memory based on a class definition for methods implemented by a class hierarchy that includes a base class and any additional classes derived from the base class; and b) a second code portion for instantiating instances of classes within said class hierarchy by: allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer at a specific location within the second block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to the first block of memory containing definitions for the methods of said class hierarchy including pointers to code that is compiled based upon JAVA language data from a class file; and iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for object instances within the class hierarchy; and c) additional code portions for accessing object components by obtaining a reference to an object instance which points to the specific location within the second block of memory for that object instance and determining data and method locations by means of offsets from the specific location and accessing the method table pointer to access class methods of said object.
Claim 16
Independent Claim
198 words
A method for accessing components of object instances by an object oriented software virtual machine comprising an interpreter for compiled Java language bytecodes, said method comprising the steps of: a) allocating a first block of memory based on a class definition for one or more methods implemented in a class hierarchy including interface methods implemented with the class hierarchy; said class hierarchy including a base class and any additional classes derived from the base class; and b) instantiating instances of classes within said class hierarchy by performing the substeps of: i) allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer within the second block of memory to point to a specific memory location in the first block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to a location within the first block of memory for accessing the one or more methods of said class hierarchy; and iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for the object instances within the class hierarchy.
Claim 17
Independent Claim
198 words
A method for accessing components of object instances by an object oriented software virtual machine comprising an interpreter for compiled Java language bytecodes, said method comprising the steps of: a) allocating a first block of memory based on a class definition for one or more methods implemented in a class hierarchy including interface methods implemented with the class hierarchy; said class hierarchy including a base class and any additional classes derived from the base class; and b) instantiating instances of classes within said class hierarchy by performing the substeps of: i) allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer within the second block of memory to point to a specific memory location in the first block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to a location within the first block of memory for accessing the one or more methods of said class hierarchy; and iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for the object instances within the class hierarchy.
Claim 18
Dependent Claim
42 words
The method of claim 12 wherein the methods include methods that are declared in Java interfaces and wherein said first memory block includes methods of each interface implemented in the base class or implemented in any additional class within the class hierarchy.
Claim 19
Dependent Claim
32 words
The method of claim 12 wherein the first block of memory includes memory locations for storing pointers to other memory blocks containing machine readable code that implements the one or more methods.
Claim 20
Independent Claim
201 words
A method for accessing components of object instances by an object oriented software virtual machine comprising the steps of: a) allocating a first block of memory based on a class definition for one or more methods implemented in a class hierarchy including memory locations for storing pointers to other memory blocks containing machine readable code that implements the one or more methods; said class hierarchy including a base class and any additional classes derived from the base class; and b) instantiating instances of classes within said class hierarchy by performing the substeps of: i) allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer within the second block of memory to point to a specific memory location in the first block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to a location within the first block of memory for accessing the one or more methods of said class hierarchy; and iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for the object instances within the class hierarchy.
Claim 21
Independent Claim
201 words
A method for accessing components of object instances by an object oriented software virtual machine comprising the steps of: a) allocating a first block of memory based on a class definition for one or more methods implemented in a class hierarchy including memory locations for storing pointers to other memory blocks containing machine readable code that implements the one or more methods; said class hierarchy including a base class and any additional classes derived from the base class; and b) instantiating instances of classes within said class hierarchy by performing the substeps of: i) allocating a second block of memory for each such instance in the class hierarchy; ii) initializing a method table pointer within the second block of memory to point to a specific memory location in the first block of memory for each such instance in the class hierarchy, said method table pointer initialized to point to a location within the first block of memory for accessing the one or more methods of said class hierarchy; and iii) initializing other data unique to each object instance at memory offsets relative to the method table pointer within the second block of memory for the object instances within the class hierarchy.
Claim 22
Dependent Claim
42 words
The method of claim 15 wherein the software virtual machine is an interpreter for compiled Java language bytecodes and the first block stores interface methods implemented within the class hierarchy and also stores interface fields that are implemented within the class hierarchy.
Claim 23
Dependent Claim
42 words
The method of claim 15 wherein the methods include methods that are declared in Java interfaces and wherein said first memory block includes methods of each interface implemented in the base class or implemented in any additional class within the class hierarchy.
Claim 24
Dependent Claim
210 words
In a stored program computer system including memory for storing data and code, a process for interpreting a binary representation of a class structure made up of multiple classes and accessing object components comprising object data and methods of the objects within the class structure, said process comprising the steps of: a) allocating memory for a method procedure table in a computer memory to hold method procedure data for the methods of each class within the class structure, said method procedure table data comprising pointers to compiled machine readable portions of code data that are derived from the binary representation of the methods; each method procedure table having an identified base location in the computer memory; b) defining the function for each of the plurality of methods by placing machine readable method procedure data at memory locations relative to the identified base location of said method procedure table; c) identifying an object instance area in the computer memory for object instances of the class structure and initializing a specific location of the object instance area to hold a pointer to the base location for the method procedure area of the class for that object instance; and d) initializing data unique to said object instance at offsets from the specific location.
Claim 25
Dependent Claim
210 words
In a stored program computer system including memory for storing data and code, a process for interpreting a binary representation of a class structure made up of multiple classes and accessing object components comprising object data and methods of the objects within the class structure, said process comprising the steps of: a) allocating memory for a method procedure table in a computer memory to hold method procedure data for the methods of each class within the class structure, said method procedure table data comprising pointers to compiled machine readable portions of code data that are derived from the binary representation of the methods; each method procedure table having an identified base location in the computer memory; b) defining the function for each of the plurality of methods by placing machine readable method procedure data at memory locations relative to the identified base location of said method procedure table; c) identifying an object instance area in the computer memory for object instances of the class structure and initializing a specific location of the object instance area to hold a pointer to the base location for the method procedure area of the class for that object instance; and d) initializing data unique to said object instance at offsets from the specific location.