Starting with tag: [TAG fenix release 20070615 Joao Cachopo **20070615221945] [add the jvstm.util.Pair class Joao Cachopo **20070616162838] [add parameters to the Atomic annotation to allow some optimizations Joao Cachopo **20070617102332] [replace map by list for storing the bodies read during a transaction Joao Cachopo **20070622124916] [lazily initialize maps for local values and per-tx values Joao Cachopo **20070624200925] [add a dstm2-like Transaction.doIt(Callable) method Joao Cachopo **20070628093929] [fix compilation errors in the examples folder Nuno Carvalho **20071022083102] [versioned RedBlackTree based on a purely functional RBT implementation Joao Cachopo **20080424094144] [make ProcessAtomicAnnotations more generic Joao Cachopo **20081020155911] [use an unmodifiable map to prevent inadvertent changing of the EMPTY_MAP Joao Cachopo **20081021205540] [add very crude suspend/resume capabilities to transactions Joao Cachopo **20090403132817] [make suspend/resume behavior overridable Joao Cachopo **20090426233706] [Reset the transaction to a clean state after commit without clearing the read and write set Joao Cachopo **20090505123706 Clearing the boxesWritten and perTxValues maps when those maps where assigned to the parent transaction would clear also the parent's maps (this happens when a nested transaction commits with a partent transaction that had not written yet for any box). Thanks to Hugo Rito for spotting this one. ] [Atomic support for speculative read-only tx sergio.fernandes@ist.utl.pt**20090525144609] [Clean up unused imports Ivo Anjo **20090521143921] [Add serialVersionUID to Exceptions Ivo Anjo **20090521144149] [Clean up some generics-related warnings Ivo Anjo **20090521150006] [* Add getter for newObjects in ConsistentTransaction interface sergio.fernandes@ist.utl.pt**20090626141704] [add preliminary support for top-level inevitable transactions Joao Cachopo **20090716094030] [Optimize VBox.get() when called without a transaction Ivo Anjo **20090723164606] [Optimize VBox.put() when called without a transaction Ivo Anjo **20090723164713] [Add VBox subclasses for remaining Java primitive types Ivo Anjo **20090723164727] [make makeNestedTransaction @Atomic aware sergio.fernandes@ist.utl.pt**20090828112811 Ignore-this: 335191b2df9918a1d06c0093cfcf0d54 The default speculative behaviour of the @Atomic annotation didn't play well with nested transactions. This patch corrects the makeNestedTransaction method. ] [UnsafeSingleThreadedTransaction support sergio.fernandes@ist.utl.pt**20090903134157 Ignore-this: babf88b724c375d23f204962d641be05 Added support for transactions that can run more efficiently in a single threaded scenario. These transactions don't keep the read-sets nor write-sets, but do create new box versions when writing values. The typicall usage is when setting up an application in a single thread. ] [Added atomic commitAndBegin support to Transaction sergio.fernandes@ist.utl.pt**20091209095430 Ignore-this: dd123b770bdb02890ba5e9cd0516761a It is now possible to invoke Transaction.commitAndBegin(boolean readOnly). This method atomically commits the current transaction and starts a new one, of the specified type (readOnly arg). ] [Optimize VBoxBody creation and bookeeping on InevitableTransaction.setBoxValue Ivo Anjo **20100305142340 Ignore-this: 888bc1ea6fd337039bc7b186658276ed ] [Make UnsafeSingleThreadedTransaction extend InevitableTransaction Ivo Anjo **20100309151611 Ignore-this: 519b8d171cfbe62d950e4d42d2d8b334 ] [preserve other annotations in @Atomic methods Joao Cachopo **20100428173401] [add missing asm lib Joao Cachopo **20100428173704] [add a size method to the functional RedBlackTree Joao Cachopo **20100622153847] [optimize WriteOnReadException and CommitException Joao Cachopo **20100811164636]