示例#1
0
        protected override void Run()
        {
            if (IsPlugged)
            {
                return;
            }

            trace = CreateTraceLog();

            var liveAnalysisGCEnvironment = new GCEnvironment(BasicBlocks, Architecture, MethodCompiler.LocalStack);

            LiveAnalysis = new LivenessAnalysis(liveAnalysisGCEnvironment, this, true);

            if (trace.Active)
            {
                for (int i = 0; i < LiveAnalysis.LiveRanges.Length; i++)
                {
                    var range = LiveAnalysis.LiveRanges[i];

                    trace.Log(i.ToString() + ": " + range);
                }
            }

            return;
        }
示例#2
0
        protected override void Run()
        {
            if (MethodCompiler.IsMethodPlugged)
            {
                return;
            }

            trace = CreateTraceLog();

            var liveAnalysisGCEnvironment = new GCEnvironment(BasicBlocks, Architecture, MethodCompiler.LocalStack);

            LiveAnalysis = new LivenessAnalysis(liveAnalysisGCEnvironment, this, true);

            if (trace != null)
            {
                for (int i = 0; i < LiveAnalysis.LiveRanges.Length; i++)
                {
                    var range = LiveAnalysis.LiveRanges[i];

                    trace.Log($"{i}: {range}");
                }
            }
        }