|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectharpoon.Analysis.Realtime.Realtime
public class 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.
| Nested Class Summary | |
|---|---|
static class |
Realtime.QuadPass
|
static class |
Realtime.TreePass
|
| Field Summary | |
|---|---|
static int |
ALL
Overly aggressive (and wrong!) |
static int |
ANALYSIS_METHOD
Determine which analysis method to use. |
static int |
CHEESY_POINTER_ANALYSIS
Pointer analysis to determine whether checks can be removed |
static boolean |
COLLECT_RUNTIME_STATS
Add code to the executable to enable gathering of runtime statistics. |
static boolean |
DEBUG_REF
Add additional information on calls to RTJ_malloc to store information about the def. points of all objects which are allocated. |
static boolean |
NOHEAP_CHECKS
Add checks to determine if a NoHeapRealtimeThread is
touching the heap. |
static boolean |
NOHEAP_MASK
Add masking support, but no checks |
static int |
REAL_POINTER_ANALYSIS
More complicated pointer analysis to determine which checks to remove. |
static boolean |
REALTIME_JAVA
Is Realtime JAVA support turned on? |
static boolean |
REALTIME_THREADS
Add support for realtime threads |
static boolean |
REALTIME_THREADS_PREEMPT
Add support for CheckQuanta |
static boolean |
REMOVE_TAGS
Remove tagging when you remove all checks? |
static boolean |
RTJ_PERF
Add support for RTJPerf |
static int |
SIMPLE
Very conservative analysis method - keep all checks |
| Constructor Summary | |
|---|---|
Realtime()
|
|
| Method Summary | |
|---|---|
static HCodeFactory |
addChecks(Linker linker,
ClassHierarchy ch,
HCodeFactory parent,
Set roots)
Adds realtime support to a block of code using an harpoon.ClassFile.HCodeFactory. |
static HCodeFactory |
addNoHeapChecks(HCodeFactory hcf)
Add checks to see if a NoHeapRealtimeThread
illegally touches the heap. |
static HCodeFactory |
addQuantaChecker(HCodeFactory hcf)
Add code to check to see if a realtime thread quanta has passed to determine whether to do a user-thread-level context switch. |
static void |
configure(String options)
Configure Realtime Java based on the following command-line options. |
static Collection |
getRoots(Linker linker)
|
static void |
printStats()
Print statistics about the static analysis and addition of Realtime support. |
static HCodeFactory |
setupCode(Linker linker,
ClassHierarchy ch,
HCodeFactory parent)
Adds realtime support to a block of code using an harpoon.ClassFile.HCodeFactory. |
static void |
setupObject(Linker linker)
Creates a field memoryArea on java.lang.Object. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static boolean REALTIME_JAVA
public static boolean REMOVE_TAGS
public static boolean REALTIME_THREADS
public static boolean REALTIME_THREADS_PREEMPT
public static boolean RTJ_PERF
public static int ANALYSIS_METHOD
public static final int SIMPLE
public static final int CHEESY_POINTER_ANALYSIS
public static final int REAL_POINTER_ANALYSIS
public static final int ALL
public static boolean COLLECT_RUNTIME_STATS
public static boolean NOHEAP_CHECKS
NoHeapRealtimeThread is
touching the heap.
public static boolean NOHEAP_MASK
public static boolean DEBUG_REF
| Constructor Detail |
|---|
public Realtime()
| Method Detail |
|---|
public static void configure(String options)
public static void setupObject(Linker linker)
java.lang.Object.
Since primitive arrays inherit from java.lang.Object,
this catches them as well.
public static Collection getRoots(Linker linker)
public static HCodeFactory setupCode(Linker linker,
ClassHierarchy ch,
HCodeFactory parent)
harpoon.ClassFile.HCodeFactory. This includes
all of the pre-analysis modifications:
java.lang.Thread now inherit from
javax.realtime.RealtimeThread. java.lang.Thread into a new
javax.realtime.RealtimeThread.
public static HCodeFactory addChecks(Linker linker,
ClassHierarchy ch,
HCodeFactory parent,
Set roots)
harpoon.ClassFile.HCodeFactory. This includes the
analysis and all of the post-analysis modifications.
Object.memoryArea).harpoon.IR.Quads.SETs and
harpoon.IR.Quads.ASETs.
public static HCodeFactory addNoHeapChecks(HCodeFactory hcf)
NoHeapRealtimeThread
illegally touches the heap.
public static HCodeFactory addQuantaChecker(HCodeFactory hcf)
public static void printStats()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||