2 .assembly extern TestDriver {}
3 .assembly extern mscorlib {}
5 .class public auto ansi sealed beforefieldinit Tests {
7 .method static public int32 Main(string[] args) il managed {
11 call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
13 call int32 [TestDriver]TestDriver::RunTests(class [mscorlib]System.Type, string[])
17 // make sure the register allocator works when the return value of
19 .method static public int32 test_0_div_regalloc () il managed {
33 .method static public int32 test_1_ceq_to_i4 () il managed {
47 .method static public int32 test_3_shl_regvars () il managed {
94 .method static public int32 test_1_fceq_to_i4 () il managed {
114 // This should be manually checked. Basically under -O=linears,
115 // you should not see tons of register spilling.
117 .method static public int32 test_1_bytedreg_free () il managed {
153 // This should be manually checked. Basically under -O=linears,
154 // you should not see tons of register spilling.
156 .method static public int32 test_0_bytesreg1_free () il managed {
195 .method static public int32 test_1_shift_regvar () il managed {
216 // this only happens with the managed pointer, not an unmanaged one.
217 .method static public int32 test_0_foo () il managed {
234 .method static public int32 test_0_localloc () cil managed {
235 .locals init (native int, native int, native int, native int, int32)
260 // Check zero initialized
309 // Try allocations bigger than one page
335 .method private static void do_localloc () cil managed {
340 IL_0001: ldc.i4 131072
347 // Check that localloc can't be inlined
348 .method static public int32 test_0_localloc_inline () cil managed {
358 START: call void class Tests::do_localloc()
371 .method static public int32 test_3_copy_used_bug () il managed {
397 // demonstrate that the copy_used_var is not a fix for the above bug
398 .method static public int32 test_3_copy_used_indir_bug () il managed {
425 .method static public void do_nothing (int32 a) il managed {
429 // demonstrate the block_split failure: needs -O=inline
430 // mini -O=inline --compile Tests:test_0_split_block_bug iltests.exe
431 .method static public int32 test_0_split_block_bug () il managed {
441 call void class Tests::do_nothing (int32)
449 .method public void inline_do_nothing () il managed {
452 .method static public int32 test_1_checkthis_inlining () il managed {
454 call instance void class Tests::inline_do_nothing ()
459 .class nested private auto ansi sealed beforefieldinit TailCallStruct
460 extends [mscorlib]System.ValueType {
461 .field public int32 a
462 .field public int32 b
463 .field public int32 b1
464 .field public int32 b2
465 .field public int32 b3
466 .field public int32 b4
467 .field public int32 b5
468 .field public int32 b6
469 .field public int32 b7
470 .field public int32 b8
473 .method static valuetype Tests/TailCallStruct tail1 (valuetype Tests/TailCallStruct arg) {
476 ldfld int32 Tests/TailCallStruct::a
479 stfld int32 Tests/TailCallStruct::a
482 ldfld int32 Tests/TailCallStruct::a
485 stfld int32 Tests/TailCallStruct::a
490 .method static valuetype Tests/TailCallStruct tail2 (valuetype Tests/TailCallStruct arg) {
492 call valuetype Tests/TailCallStruct Tests::tail1 (valuetype Tests/TailCallStruct)
496 call valuetype Tests/TailCallStruct Tests::tail1 (valuetype Tests/TailCallStruct)
500 .method static public int32 test_0_tail_calls () il managed {
503 valuetype Tests/TailCallStruct arg
507 stfld int32 Tests/TailCallStruct::a
510 stfld int32 Tests/TailCallStruct::b
512 call valuetype Tests/TailCallStruct Tests::tail2 (valuetype Tests/TailCallStruct)
515 ldfld int32 Tests/TailCallStruct::a
517 ldfld int32 Tests/TailCallStruct::b
524 .method static public int32 test_11_switch_with_nonempty_stack () il managed {
539 .method public static int32 test_5_endfinally_with_nonempty_stack () il managed {
553 .method public static int32 test_0_conv_ovf_i8_neg () il managed {
568 .method public static int32 test_1234_conv_u4 () il managed {
577 .method public static int32 test_0_get_type_from_handle_on_bblock_boundary () cil managed
584 ldtoken [mscorlib]System.String
587 ldtoken [mscorlib]System.Object
589 call class [mscorlib]'System.Type' class [mscorlib]'System.Type'::'GetTypeFromHandle'(valuetype [mscorlib]'System.RuntimeTypeHandle')
590 callvirt instance string class [mscorlib]System.Type::get_FullName ()
591 ldstr "System.String"
592 callvirt instance bool class [mscorlib]System.Object::Equals(object)
598 .method public static int32 test_0_bug59580 ()
600 ldc.r4 float32(0x7FC00000)
601 ldc.r4 float32(0x7FC00000)
612 .method public static int32 test_1_bug60056 () {
613 .locals init (int32 m5)
631 .method public static int32 test_1_conv_u8_cfold () {
635 ldc.i8 0x00000000ffffffff
641 .method public static int32 test_1_array_type_mismatch_ldelema () {
642 .locals init (int32 r)
658 } catch [mscorlib]System.ArrayTypeMismatchException {
669 .method public static int32 test_1_conv_ovf_i8_with_i4 () {
678 .method public static int32 test_0_initlocals_float_ptr () {
685 newarr [mscorlib]System.Single
693 ldelema [mscorlib]System.Single
703 .method public static int32 test_7_conv_ovf_u8_un () {
705 .locals init (unsigned int64)
715 .method public static int32 test_1_bug_74591 () {
730 .class public auto ansi Integer
731 extends [mscorlib]System.Object {
735 .method private hidebysig specialname rtspecialname
736 instance default void .ctor (unsigned int64 i, bool n) cil managed
740 call instance void class [mscorlib]System.Object::.ctor()
743 stfld bool Tests/Integer::n
748 .method public static int32 test_1_bug_74726 () {
757 newobj instance void class Tests/Integer::.ctor(unsigned int64, bool)
758 ldfld bool Tests/Integer::n
764 .class nested private auto ansi sealed xxx
765 extends [mscorlib]System.ValueType
767 .field public object a
769 .method public hidebysig specialname rtspecialname
770 instance default void .ctor () cil managed
775 } // end of class xxx
777 .method public static int32 test_0_newobj_vtype () {
780 valuetype Tests/xxx V_0
783 newobj instance void valuetype Tests/xxx::.ctor ()
786 ldfld object Tests/xxx::a
795 .method public static int32 test_1_filters () {
803 ldstr "OnErrorSub test Exception"
804 newobj instance void class [mscorlib]System.Exception::.ctor(string)
814 // Should not be called