Package harpoon.Analysis.Realtime

Classes to implement and optimize the MemoryArea pointer access restrictions described in Sun's Realtime Java Specification.

See:
          Description

Interface Summary
CheckRemoval CheckRemoval is an interface that all classes that analyze RTJ harpoon.IR.Quads.SET or harpoon.IR.Quads.ASET's for possible removal of checks should implement.
NoHeapCheckRemoval NoHeapCheckRemoval is an interface that all classes that analyze harpoon.IR.Quads.SET, harpoon.IR.Quads.ASET harpoon.IR.Quads.GET, harpoon.IR.Quads.AGET for possible removal of checks for heap access in a NoHeapRealtimeThread should implement.
 

Class Summary
AllCheckRemoval AllCheckRemoval is an overly aggressive (and often wrong!)
CheesyPACheckRemoval CheesyPACheckRemoval
ClassReplacer ClassReplacer is a MethodMutator which works on any QuadForm and replaces NEW's and CALL's to one class with NEW's and CALL's to another class using a mapping function to map methods of one to methods of the other.
HeapCheckAdder HeapCheckAdder adds checks to see if a NoHeapRealtimeThread is touching the heap.
PACheckRemoval PACheckRemoval is a pointer analysis based implementation of the CheckRemoval interface.
PrintFactory PrintFactory allows you to print the code as it's being converted for debugging purposes only.
QuantaChecker  
Realtime Realtime is the top-level access point for the rest of the Harpoon compiler to provide support for the Realtime Java MemoryArea extensions described in the Realtime Java Specification and there's also a JavaDoc version.
Realtime.QuadPass  
Realtime.TreePass  
RealtimeAllocationStrategy RealtimeAllocationStrategy makes all memory allocations to go through RTJ_malloc.
RealtimeRuntime RealtimeRuntime is a trivial extension of harpoon.Backend.Runtime2.Runtime that allows constants to be tagged with an ImmortalMemory and emits extra const char* data for debugging purposes when Realtime.DEBUG_REF is turned on.
SimpleCheckRemoval SimpleCheckRemoval is the simplest implementation of the interface CheckRemoval: it just keeps all the checks!
 

Package harpoon.Analysis.Realtime Description

Classes to implement and optimize the MemoryArea pointer access restrictions described in Sun's Realtime Java Specification. A version of the API is available at http://www.rtj.org/public/doc/. An even more up-to-date version is available at: http://tao.doc.wustl.edu/rtj/api/index.html.

The Realtime.Realtime is the top-level public class which can be called from the rest of the compiler.

Author:
Wes Beebee (wbeebee@mit.edu)