Package harpoon.Analysis.DynamicSyncRemoval

This package defines a transformation that inserts a dynamic check before every synchronization operation, skipping the synchronization if the check returns true.

See:
          Description

Class Summary
SyncRemover SyncRemover calls a "magic" native method to determine if synchronization should be done on this object, and skips the MONITORENTER/MONITOREXIT sequence if the answer is no.
 

Package harpoon.Analysis.DynamicSyncRemoval Description

This package defines a transformation that inserts a dynamic check before every synchronization operation, skipping the synchronization if the check returns true. This can be used to skip synchronization on non-escaping objects. The dynamic check is a C function called DYNSYNC_isSync(), and the default implementation returns the second bit of the hash code.

Author:
C. Scott Ananian (cananian@alumni.princeton.edu)