|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.scheduler.SystemThread org.jikesrvm.adaptive.controller.ControllerThread
public final class ControllerThread
This class implements the controller thread. This entity is the brains of the adaptive optimization system. It communicates with the runtime measurements subsystem to instruct and gather profiling information. It also talks to the compilation threads to generate
Field Summary | |
---|---|
private DynamicCallGraphOrganizer |
dcgOrg
There are several ways in which a dcg organizer might be created; keep track of it once it is created so that we only create one instance of it. |
private SoftLatch |
sentinel
|
Fields inherited from class org.jikesrvm.scheduler.SystemThread |
---|
rvmThread |
Constructor Summary | |
---|---|
ControllerThread(SoftLatch sentinel)
constructor |
Method Summary | |
---|---|
void |
aboutToWait()
Called when the controller thread is about to wait on Controller.controllerInputQueue |
private void |
controllerInitDone()
|
private void |
createCompilationThread()
Create the compilationThread and schedule it |
private void |
createDynamicCallGraphOrganizer()
Create a dynamic call graph organizer of one doesn't already exist |
private void |
createOrganizerThreads()
Create the organizerThreads and schedule them |
private void |
createProfilers()
Create profiling entities that are independent of whether or not adaptive recompilation is actually enabled. |
void |
doneWaiting()
Called when the controller thread is woken after waiting on Controller.controllerInputQueue |
boolean |
earlyRestrictOptLevels()
If we're going to be gathering a dynamic call graph, then we don't want to let the opt compiler compile anything above O0 until we have some initial data in the call graph to work with. |
static void |
report()
Final report |
void |
run()
This method is the entry point to the controller, it is called when the controllerThread is created. |
Methods inherited from class org.jikesrvm.scheduler.SystemThread |
---|
getRVMThread, start, stop |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final SoftLatch sentinel
private DynamicCallGraphOrganizer dcgOrg
Constructor Detail |
---|
ControllerThread(SoftLatch sentinel)
sentinel
- An object to signal when up and runningMethod Detail |
---|
public void run()
run
in class SystemThread
private void controllerInitDone()
public void aboutToWait()
public void doneWaiting()
public boolean earlyRestrictOptLevels()
private void createCompilationThread()
private void createDynamicCallGraphOrganizer()
private void createProfilers()
private void createOrganizerThreads()
public static void report()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |