GetMethodToCompile() 공개 메소드

public GetMethodToCompile ( ) : MosaMethod
리턴 MosaMethod
예제 #1
0
        private MosaMethod CompilerMethodInQueue(int threadID = 0)
        {
            var method = CompilationScheduler.GetMethodToCompile();

            if (method == null)
            {
                return(null);
            }

            return(CompileMethod(method, threadID));
        }
예제 #2
0
        private void ExecuteCompilePass()
        {
            while (true)
            {
                var method = CompilationScheduler.GetMethodToCompile();

                if (method == null)
                {
                    return;
                }

                CompileMethod(method, null, 0);

                CompilerTrace.UpdatedCompilerProgress(
                    CompilationScheduler.TotalMethods,
                    CompilationScheduler.TotalMethods - CompilationScheduler.TotalQueuedMethods
                    );
            }
        }
예제 #3
0
        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);
            }
        }