Finalizable object usage in software transactions
First Claim
1. A method for using finalizable objects in transactions in a software transactional memory system comprising the steps of:
- providing a software transactional memory system; and
providing a feature in the software transactional memory system that supports allocation of finalizable objects inside a transaction so a garbage collector knows when a particular one or more of the objects are eligible for finalization.
2 Assignments
0 Petitions
Accused Products
Abstract
Various technologies and techniques are disclosed for providing a software transactional memory system that supports allocation and use of finalizable objects inside transactions. By supporting such finalizable object usage inside a software transactional memory system, correct behavior is maintained when a garbage collector must determine when a particular one or more of the objects are eligible for finalization. A to-be-finalized set is provided for a transaction. An object is placed into the to-be-finalized set for the transaction whenever a finalizable object is allocated within the transaction. A finalize indicator is set for each object in the to-be-finalized set at an appropriate time to indicate that the objects are eligible for finalization. For example, if the transaction is ready to commit and the transaction is an open transaction, then the to-be-finalized set is traversed and a finalize indicator is set for each object to indicate they are eligible for finalization.
35 Citations
20 Claims
-
1. A method for using finalizable objects in transactions in a software transactional memory system comprising the steps of:
-
providing a software transactional memory system; and providing a feature in the software transactional memory system that supports allocation of finalizable objects inside a transaction so a garbage collector knows when a particular one or more of the objects are eligible for finalization. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium having computer-executable instructions for causing a computer to perform steps comprising:
-
provide a software transactional memory system that supports allocation of finalizable objects inside a transaction; provide a to-be-finalized set for a transaction; place an object into the to-be-finalized set for the transaction whenever a finalizable object is allocated within the transaction; and set a finalize indicator for each object in the to-be-finalized set at an appropriate time to indicate that the objects are eligible for finalization. - View Dependent Claims (12, 13)
-
-
14. A method for using finalizable objects in transactions in a software transactional memory system comprising the steps of:
-
creating a to-be-finalized set for a transaction; whenever a finalizable object is allocated while a transaction is alive, placing the finalizable object into the to-be-finalized set for the transaction; and if the transaction is ready to commit and the transaction is an open nested or non-nested transaction, then traversing the to-be-finalized set and setting a finalize indicator for each object so a garbage collector will know that each object is eligible to finalize. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification