/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Eclipse Public License (EPL);
* You may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.opensource.org/licenses/eclipse-1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
package org.mmtk.harness.scheduler;
import org.mmtk.utility.Log;
/**
* Superclass of all threads in the MMTk harness - this is the public interface
* to threads from outside the scheduler.
*/
public class MMTkThread extends Thread {
/** The per-thread Log instance */
protected final Log log = new Log();
/**
* The command-line selected yield policy
*/
private final Policy yieldPolicy = Scheduler.yieldPolicy(this);
/**
* @return The MMTk Log object for this thread
*/
public final Log getLog() {
return log;
}
/**
* @return True if the current yield policy requires a yield now.
*/
public boolean yieldPolicy() {
return yieldPolicy.yieldNow();
}
}