METHODS AND APPARATUS FOR MEMORY ALLOCATION FOR OBJECT INSTANCES IN AN OBJECT-ORIENTED SOFTWARE ENVIRONMENT
First Claim
1. A method for allocating blocks of memory in an object oriented software system, said method comprising the steps of:
- generating an object instance pool for an object class, wherein said object instance pool comprises a plurality of entries such that each entry is associated with a memory block configured to store an object instance for said object class;
allocating, from an entry of said object instance pool, a memory block when an object instance is instantiated from said object class if one of said memory blocks are available for allocation from an entry of said object instance pool; and
re-assigning memory blocks from object instances of said object class into an entry of said object instance pool when said object instances are no longer required in said object oriented software system.
2 Assignments
0 Petitions
Accused Products
Abstract
An object instance memory allocation module allocates blocks of memory in an object oriented software system. An object instance pool is generated for each object class configured as a reusable class. The object instance pool contains a plurality of entries, and each entry is associated with an object instance memory block configured to store an object instance for the object class. When an object instance is instantiated from an object class, the object instance memory allocation technique allocates, from an entry of the object instance pool, a memory block if one of the memory blocks are available. When an object instance is released (i.e., deleted), the object instance memory allocation technique re-assigns memory blocks for the object class into an entry of the object instance pool. An object oriented software environment that implements the object instance memory allocation techniques is also disclosed.
75 Citations
17 Claims
-
1. A method for allocating blocks of memory in an object oriented software system, said method comprising the steps of:
-
generating an object instance pool for an object class, wherein said object instance pool comprises a plurality of entries such that each entry is associated with a memory block configured to store an object instance for said object class;
allocating, from an entry of said object instance pool, a memory block when an object instance is instantiated from said object class if one of said memory blocks are available for allocation from an entry of said object instance pool; and
re-assigning memory blocks from object instances of said object class into an entry of said object instance pool when said object instances are no longer required in said object oriented software system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for allocating blocks of memory in an object oriented software system, said method comprising the steps of:
-
generating an object factory class, for an object class, to instantiate instances of objects from said object class;
receiving a request to generate an instance of said object class at said object factory;
generating, from said object factory class, an object instance pool for an object class, wherein said object instance pool comprises a plurality of entries such that each entry is associated with a memory block configured to store an object instance for said object class;
allocating, from an entry of said object instance pool, a memory block to instantiate said object instance if one of said memory blocks are available for allocation from an entry of said object instance pool; and
re-assigning memory blocks from object instances of said object class into an entry of said object instance pool when said object instances are no longer required in said object oriented software system. - View Dependent Claims (8, 9, 10)
-
-
11. A computer readable medium comprising a set of instructions stored therein, which when executed by a computer, causes the computer to perform the steps of:
- ;
generating an object instance pool for an object class, wherein said object instance pool comprises a plurality of entries such that each entry is associated with a memory block configured to store an object instance for said object class;
allocating, from an entry of said object instance pool, a memory block when an object instance is instantiated from said object class if one of said memory blocks are available for allocation from an entry of said object instance pool; and
re-assigning memory blocks from object instances of said object class into an entry of said object instance pool when said object instances are no longer required in said object oriented software system. - View Dependent Claims (12, 13, 14, 15, 16)
- ;
-
17. A computer system for executing object-oriented software comprising:
-
memory for storing an object instance pool for an object class, wherein said object instance pool comprises a plurality of entries such that each entry is associated with a memory block configured to store an object instance for said object class; and
processor unit coupled to said memory for allocating, from an entry of said object instance pool, a memory block when an object instance is instantiated from said object class if one of said memory blocks are available for allocation from an entry of said object instance pool, and for re-assigning memory blocks from object instances of said object class into an entry of said object instance pool when said object instances are no longer required in said object oriented software system.
-
Specification