type_load ();
regress ();
gc_suspend ();
+ set_ip ();
if (args.Length > 0 && args [0] == "domain-test")
/* This takes a lot of time, so execute it conditionally */
domains ();
frames_in_native ();
if (args.Length > 0 && args [0] == "invoke-single-threaded")
new Tests ().invoke_single_threaded ();
+ new Tests ().evaluate_method ();
return 3;
}
ss7 ();
ss_nested ();
ss_regress_654694 ();
+ ss_step_through ();
+ ss_recursive (1);
+ ss_fp_clobber ();
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void ss_nested_3 () {
}
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void ss_step_through () {
+ step_through_1 ();
+ StepThroughClass.step_through_2 ();
+ step_through_3 ();
+ }
+
+ [DebuggerStepThrough]
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void step_through_1 () {
+ }
+
+ [DebuggerStepThrough]
+ class StepThroughClass {
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void step_through_2 () {
+ }
+ }
+
+ [DebuggerStepThrough]
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void step_through_3 () {
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void ss_recursive (int n) {
+ if (n == 10)
+ return;
+ ss_recursive (n + 1);
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void ss_fp_clobber () {
+ double v = ss_fp_clobber_1 (5.0);
+ ss_fp_clobber_2 (v);
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static double ss_fp_clobber_1 (double d) {
+ return d + 2.0;
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void ss_fp_clobber_2 (double d) {
+ }
+
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static bool is_even (int i) {
return i % 2 == 0;
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void locals () {
string s = null;
+ var astruct = new AStruct () { i = 42 };
locals1 (null);
- locals2<string> (null, 5, "ABC", ref s);
+ locals2<string> (null, 5, "ABC", ref s, ref astruct);
locals3 ();
locals6 ();
locals7<int> (22);
#if NET_4_5
[StateMachine (typeof (int))]
#endif
- public static void locals2<T> (string[] args, int arg, T t, ref string rs) {
+ public static void locals2<T> (string[] args, int arg, T t, ref string rs, ref AStruct astruct) {
long i = 42;
string s = "AB";
i ++;
if (t != null)
i ++;
+ astruct = new AStruct ();
}
rs = "A";
}
throw new OverflowException ();
} catch (Exception) {
}
+ // no subclasses
+ try {
+ throw new OverflowException ();
+ } catch (Exception) {
+ }
+ try {
+ throw new Exception ();
+ } catch (Exception) {
+ }
object o = null;
try {
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void generic_method<T> () where T : class {
}
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public void evaluate_method_2 () {
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public void evaluate_method () {
+ field_i = 42;
+ evaluate_method_2 ();
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ static void set_ip_1 () {
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ static void set_ip_2 () {
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void set_ip () {
+ int i, j;
+
+ i = 1;
+ set_ip_1 ();
+ i = 5;
+ j = 5;
+ set_ip_2 ();
+ }
}
class TypeLoadClass {