private void CompileWorker(int threadID)
{
while (true)
{
var method = CompilationScheduler.GetMethodToCompile();
if (method == null)
{
return;
}
// only one method can be compiled at a time
lock (method)
{
CompileMethod(method, null, threadID);
}
CompilerTrace.UpdatedCompilerProgress(
CompilationScheduler.TotalMethods,
CompilationScheduler.TotalMethods - CompilationScheduler.TotalQueuedMethods);
}
}