Bug 38009 - non-linear code in seq point calculation
Summary: non-linear code in seq point calculation
Status: NEW
Alias: None
Product: Runtime
Classification: Mono
Component: Debugger (show other bugs)
Version: unspecified
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Alexander Kyte
URL:
Depends on:
Blocks:
 
Reported: 2016-01-25 19:50 UTC by Zoltan Varga
Modified: 2016-03-22 17:25 UTC (History)
2 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Zoltan Varga 2016-01-25 19:50:32 UTC
23ce21e caused a perf regression in the debugger. The following testcase takes 5 sec to run on master under the debugger:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
using System;

class Base {
}

class Sub1 : Base {
}

public class Tests {
	private static bool CheckStatement(Base b) {
		if (b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
b is Sub1 ||
			b is Sub1 ||
			b is Sub1 ||
			b is Sub1)
                return true;
            return false;
        }

	public static void Main (String[] args) {
		var w = System.Diagnostics.Stopwatch.StartNew ();
		CheckStatement (new Base ());
		w.Stop ();
		Console.WriteLine (w.ElapsedMilliseconds);
	}
}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Comment 1 Alexander Kyte 2016-03-22 17:25:45 UTC
https://github.com/mono/mono/pull/2780

Note You need to log in before you can comment on or make changes to this bug.