Author: miguel
Date: 2007-03-14 14:57:06 -0500 (Wed, 14 Mar 2007)
New Revision: 74298

Removed:
   trunk/mono/mono/mini/iltests.il
Modified:
   trunk/mono/mono/mini/ChangeLog
   trunk/mono/mono/mini/Makefile.am
   trunk/mono/mono/mini/iltests.il.in
Log:
2007-03-14  Miguel de Icaza  <[EMAIL PROTECTED]>

        *  Makefile.am: Add support so the tail tests are not executed on
        PowerPC as that is a known limitation of the PowerPC port.

Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog      2007-03-14 19:56:14 UTC (rev 74297)
+++ trunk/mono/mono/mini/ChangeLog      2007-03-14 19:57:06 UTC (rev 74298)
@@ -1,3 +1,8 @@
+2007-03-14  Miguel de Icaza  <[EMAIL PROTECTED]>
+
+       *  Makefile.am: Add support so the tail tests are not executed on
+       PowerPC as that is a known limitation of the PowerPC port.
+
 2007-03-13  Jonathan Chambers  <[EMAIL PROTECTED]>
 
        * runmdesc.bat:  Move to msvc directory.

Modified: trunk/mono/mono/mini/Makefile.am
===================================================================
--- trunk/mono/mono/mini/Makefile.am    2007-03-14 19:56:14 UTC (rev 74297)
+++ trunk/mono/mono/mini/Makefile.am    2007-03-14 19:57:06 UTC (rev 74298)
@@ -231,7 +231,7 @@
        basic-math.cs   \
        basic.cs                \
        exceptions.cs   \
-       iltests.il              \
+       iltests.il.in           \
        test.cs
 
 test_sources2 = generics.2.cs il2tests.2.il
@@ -362,6 +362,10 @@
 %.exe: %.2.il
        $(ILASM2) -output=$@ $<
 
+iltests.il: iltests.il.in
+       echo '// DO NOT EDIT: This file has been generated from iltests.il.in' 
> iltests.il
+       cpp -Darch=$(arch_define) < $(srcdir)/iltests.il.in >> iltests.il
+
 %.exe: %.il
        $(ILASM) -output=$@ $<
 

Deleted: trunk/mono/mono/mini/iltests.il
===================================================================
--- trunk/mono/mono/mini/iltests.il     2007-03-14 19:56:14 UTC (rev 74297)
+++ trunk/mono/mono/mini/iltests.il     2007-03-14 19:57:06 UTC (rev 74298)
@@ -1,1372 +0,0 @@
-.assembly iltests {}
-.assembly extern TestDriver {}
-.assembly extern mscorlib {}
-
-.class public auto ansi sealed beforefieldinit Tests {
-
-       .method static public int32 Main(string[] args) il managed {
-               .entrypoint
-               
-               ldtoken Tests
-               call       class [mscorlib]System.Type 
[mscorlib]System.Type::GetTypeFromHandle(valuetype 
[mscorlib]System.RuntimeTypeHandle)
-               ldarg.0
-               call       int32 [TestDriver]TestDriver::RunTests(class 
[mscorlib]System.Type, string[])
-               ret
-       }
-
-       // make sure the register allocator works when the return value of
-       // 'div' is discarded
-       .method static public int32 test_0_div_regalloc () il managed {
-               .locals init (
-                       int32 i
-               )
-
-               ldloc 0
-               ldc.i4.s 0xa
-               div
-               pop
-               ldc.i4.0
-               ret
-       }
-       
-       
-       .method static public int32 test_1_ceq_to_i4 () il managed {
-               .locals init (
-                       int32   foo
-               )
-               ldc.i4 500
-               stloc foo
-               ldloc foo
-               ldc.i4 500
-               ceq
-               stloc foo
-               ldloc foo
-               ret
-       }
-       
-       .method static public int32 test_3_shl_regvars () il managed {
-               .locals init (
-                       int32   a,
-                       int32   b,
-                       int32   r1,
-                       int32   r2,
-                       int32   r3
-               )
-                       
-               ldc.i4.2
-               stloc      a
-               ldc.i4.1
-               stloc      b
-       
-               ldloc      a
-               ldloc      b
-               shl 
-               stloc      r1
-               
-               ldloc      a
-               ldloc      b
-               shl 
-               stloc      r2
-               
-               ldloc      a
-               ldloc      b
-               shl 
-               stloc      r3
-               
-               ldloc      r1
-               ldc.i4.4
-               ceq
-               
-               ldloc      r2
-               ldc.i4.4
-               ceq
-               
-               ldloc      r3
-               ldc.i4.4
-               ceq
-               
-               add
-               add
-               
-               ret
-       }
-       
-       .method static public int32 test_1_fceq_to_i4 () il managed {
-       
-               .locals init (
-                       float64 foo,
-                       int32   val
-               )
-
-               ldc.r8      2
-               stloc       foo
-               
-               ldloc       foo
-               ldc.r8      2
-               ceq
-               stloc       val
-               
-               ldloc       val
-               ret
-       }
-
-       //
-       // This should be manually checked. Basically under -O=linears,
-       // you should not see tons of register spilling.
-       //
-       .method static public int32 test_1_bytedreg_free () il managed {
-               .locals init (
-                       int32   foo
-               )
-               ldc.i4 500
-               stloc foo
-               ldloc foo
-               ldc.i4 500
-               ceq
-               stloc foo
-               
-               ldloc foo
-               ldc.i4 1
-               ceq
-               stloc foo
-
-               ldloc foo
-               ldc.i4 1
-               ceq
-               stloc foo
-
-               ldloc foo
-               ldc.i4 1
-               ceq
-               stloc foo
-               
-               ldloc foo
-               ldc.i4 1
-               ceq
-               stloc foo
-               
-               ldloc foo
-               ret
-       }
-       
-       //
-       // This should be manually checked. Basically under -O=linears,
-       // you should not see tons of register spilling.
-       //
-       .method static public int32 test_0_bytesreg1_free () il managed {
-               .locals init (
-                       unsigned int8      dest,
-                       int32              src,
-                       unsigned int8&     pdest
-               )
-
-               ldloca     dest
-               stloc      pdest
-               
-               ldloc      pdest
-               ldloc      src
-               stind.i1
-               
-               ldloc      pdest
-               ldloc      src
-               stind.i1
-               
-               ldloc      pdest
-               ldloc      src
-               stind.i1
-               
-               ldloc      pdest
-               ldloc      src
-               stind.i1
-               
-               ldloc      pdest
-               ldloc      src
-               stind.i1
-               
-               ldloc      pdest
-               ldloc      src
-               stind.i1
-               
-               ldloc      pdest
-               ldind.i1
-               ret
-       }
-       
-       .method static public int32 test_1_shift_regvar () il managed {
-       
-               .locals init (
-                       int32   v7FFFFFFF,
-                       int32   v1
-               )
-               
-               ldc.i4  0x7FFFFFFF
-               stloc   v7FFFFFFF
-       
-               ldc.i4.1
-               stloc v1
-               
-               ldloc   v7FFFFFFF
-               ldloc   v1
-               shl
-               ldc.i4  0xFFFFFFFE
-               ceq
-               ret
-       }
-       
-       // this only happens with the managed pointer, not an unmanaged one.
-       .method static public int32 test_0_foo () il managed {
-       
-               .locals init (
-                       int32&  buf
-               )
-               
-               ldc.i4.5
-               localloc
-               
-               stloc buf
-               ldloc buf
-               
-               ldind.i4
-               
-               ret
-       }
-
-       .method static public int32 test_0_localloc () cil managed {
-               .locals init (native int, native int, native int, native int, 
int32)
-
-               ldc.i4 6
-               localloc
-               conv.i
-               stloc.0
-
-               ldc.i4 6
-               localloc
-               conv.i
-               stloc.1
-
-               ldc.i4 6
-               localloc
-               conv.i
-               stloc.2
-
-               // Variable length
-               ldc.i4 128
-               stloc.s 4
-               ldloc.s 4
-               localloc
-               conv.i
-               stloc.3
-
-               // Check zero initialized
-               ldloc.0
-               ldind.i4
-               ldc.i4.0
-               beq OK1
-               ldc.i4.1
-               br FAIL
-
-OK1:
-               ldloc.3
-               ldind.i4
-               ldc.i4.0
-               beq OK2
-               ldc.i4.2
-               br FAIL
-
-OK2:
-               ldloc.3
-               ldc.i4.s 124
-               add
-               ldind.i4
-               ldc.i4.0
-               beq OK3
-               ldc.i4.3
-               br FAIL
-
-OK3:
-               ldloc.1
-               ldc.i4 999999
-               stind.i4
-               ldloc.1
-               ldind.i4
-               ldc.i4 999999
-               beq OK4
-               ldc.i4.4
-               br FAIL
-
-OK4:
-               ldloc.0
-               ldc.i4 999999
-               stind.i4
-               ldloc.0
-               ldind.i4
-               ldc.i4 999999
-               beq OK5
-               ldc.i4.5
-               br FAIL
-
-OK5:
-               // Try allocations bigger than one page
-               ldc.i4 8196
-               localloc
-               conv.i
-               stloc.3
-               ldloc.3
-               ldc.i4 8192
-               add
-               ldc.i4 99
-               stind.i4
-               ldloc.3
-               ldc.i4 8192
-               add
-               ldind.i4
-               ldc.i4 99
-               beq PASS
-               ldc.i4.6
-               br FAIL
-
-FAIL:
-               ret
-
-PASS:  ldc.i4.0
-               ret
-       }
-
-    .method private static void do_localloc () cil managed {
-        .maxstack 3
-        .locals init (
-                unsigned int8*  V_0)
-        IL_0000:  ldc.i4.1
-        IL_0001:  ldc.i4 131072
-        IL_0006:  mul
-        IL_0007:  localloc
-        IL_0009:  stloc.0
-        IL_000a:  ret
-    }
-
-       // Check that localloc can't be inlined
-       .method static public int32 test_0_localloc_inline () cil managed {
-               .maxstack 16
-               .locals init (
-                       int32 i
-               )
-
-               ldc.i4.0
-        stloc.0
-        br COND
-
-START:  call void class Tests::do_localloc()
-        ldloc.0
-        ldc.i4.1
-        add
-        stloc.0
-COND:   ldloc.0
-        ldc.i4 1000
-        blt START
-
-               ldc.i4.0
-               ret
-       }       
-       
-       .method static public int32 test_3_copy_used_bug () il managed {
-
-               .locals init (
-                       int32 size,
-                       int32 res
-               )
-
-               ldc.i4 0
-               stloc res
-
-               ldc.i4 1
-               stloc size
-
-               ldloc size
-               ldloc size
-               ldloc size
-               add
-               stloc size
-               ldloc size
-               add
-               stloc res
-
-               ldloc res
-               ret
-       }
-
-       // demonstrate that the copy_used_var is not a fix for the above bug
-       .method static public int32 test_3_copy_used_indir_bug () il managed {
-
-               .locals init (
-                       int32 size,
-                       int32 res
-               )
-
-               ldc.i4 0
-               stloc res
-
-               ldc.i4 1
-               stloc size
-
-               ldloc size
-               ldloca size
-               ldloc size
-               ldloc size
-               add
-               stind.i4
-               ldloc size
-               add
-               stloc res
-
-               ldloc res
-               ret
-       }
-
-       .method static public void do_nothing (int32 a) il managed {
-               ret
-       }
-       
-       // demonstrate the block_split failure: needs -O=inline
-       // mini -O=inline --compile Tests:test_0_split_block_bug iltests.exe
-       .method static public int32 test_0_split_block_bug () il managed {
-
-               .locals init (
-                       int32 i1
-               )
-
-               ldc.i4 1
-               stloc i1
- test_label:
-               ldloc i1
-               call void class Tests::do_nothing (int32)
-               ldc.i4 0
-               brtrue test_label
-               
-               ldc.i4 0
-               ret
-       }
-
-       .method public void inline_do_nothing () il managed {
-               ret
-       }
-       .method static public int32 test_1_checkthis_inlining () il managed {
-               ldnull
-               call instance void class Tests::inline_do_nothing ()
-               ldc.i4 1
-               ret
-       }
-
-       .class nested private auto ansi sealed beforefieldinit TailCallStruct 
-               extends [mscorlib]System.ValueType {
-               .field public int32 a
-               .field public int32 b
-       }
-
-       .method static valuetype Tests/TailCallStruct tail1 (valuetype 
Tests/TailCallStruct arg) {
-               ldarga 0
-               ldarga 0
-               ldfld int32 Tests/TailCallStruct::a
-               ldc.i4.1
-               add
-               stfld int32 Tests/TailCallStruct::a
-               ldarga 0
-               ldarga 0
-               ldfld int32 Tests/TailCallStruct::a
-               ldc.i4.2
-               add
-               stfld int32 Tests/TailCallStruct::a
-               ldarg.0
-               ret
-       }
-
-       .method static valuetype Tests/TailCallStruct tail2 (valuetype 
Tests/TailCallStruct arg) {
-               ldarg.0
-               tail.
-               call valuetype Tests/TailCallStruct Tests::tail1 (valuetype 
Tests/TailCallStruct)
-               ret
-       }
-
-       .method static public int32 test_0_tail_calls () il managed {
-               .maxstack 16
-               .locals init (
-                       valuetype Tests/TailCallStruct arg
-               )
-               ldloca 0
-               ldc.i4.2
-               stfld int32 Tests/TailCallStruct::a
-               ldloca 0
-               ldc.i4.4
-               stfld int32 Tests/TailCallStruct::b
-               ldloc.0
-               call valuetype Tests/TailCallStruct Tests::tail2 (valuetype 
Tests/TailCallStruct)
-               stloc.0
-               ldloca 0
-               ldfld int32 Tests/TailCallStruct::a
-               ldloca 0
-               ldfld int32 Tests/TailCallStruct::b
-               add
-               ldc.i4 9
-               sub
-               ret
-       }
-
-       .method static public int32 tail3 (int32 i, int32 j) il managed {
-               ldarg.0
-               ldarg.1
-               add
-               ret
-       }
-
-       .method static public int32 tail4 (int32 i, int32 j) il managed {
-               .maxstack 16
-               .locals init (
-                       int32 k)
-
-               // Test arg0 allocated to a register
-               ldarg.0
-               ldarg.0
-               ldarg.0
-               ldarg.0
-               add
-               add
-               add
-               starg 0
-
-               // Test switched up argument variables as the actual arguments
-               ldarg.1
-               ldarg.0
-               tail.
-               call int32 Tests::tail3 (int32, int32)
-               ret
-       }
-
-       .method static public int32 test_24_tail_calls2 () il managed {
-               .maxstack 16
-               .locals init (
-                       int32 i,
-                       int32 j)
-
-               ldc.i4.4
-               stloc.0
-               ldc.i4.8
-               stloc.1
-
-               ldloc.0 
-               ldloc.1
-               call int32 Tests::tail4 (int32, int32)
-               ret
-       }
-
-       .method public static int32 test_5_jmp () cil managed {
-               jmp int32 Tests::jmp2 ()
-               ldc.i4.0
-               ret
-       }
-
-       .method public static int32 jmp2 () cil managed {
-               ldc.i4.5
-               ret
-       }               
-
-       .method static public int32 test_11_switch_with_nonempty_stack () il 
managed {
-               .maxstack 16
-
-               ldc.i4.5
-               ldc.i4.6
-               ldc.i4.1
-               switch (L0, L1)
-       L0: 
-               add
-               ret
-       L1:
-               add
-               ret
-       }
- 
-    .method public static int32 test_5_endfinally_with_nonempty_stack () il 
managed {
-               .maxstack 16
-
-        .try {
-          leave IL_0
-        }
-        finally  {
-          ldc.i4.0
-          endfinally
-        }
-        IL_0:  ldc.i4.5
-               ret
-    }
-
-       .method public static int32 test_0_conv_ovf_i8_neg () il managed {
-               .maxstack 16
-
-               ldc.i4.m1
-               conv.ovf.i8
-               conv.i4
-               ldc.i4.m1
-               beq L_OK
-               ldc.i4.1
-               ret
-       L_OK:
-               ldc.i4.0
-               ret
-       }               
-
-       .method public static int32 test_1234_conv_u4 () cil managed {
-               .maxstack 16
-
-               ldc.i4 1234
-               conv.u4
-               conv.i4
-               ret
-       }
-
-       .method public static int32 test_2_lconv_to_ovf_i4_un () cil managed {
-               .maxstack 16
-               .locals init (int32 res)
-
-               ldc.i4 0x7fffffff
-               conv.u8
-               conv.ovf.i4.un
-               pop
-
-               ldc.i4.2
-               stloc res
-
-        .try {
-                       ldc.i8 0x80000000
-                       conv.ovf.i4.un
-                       pop
-                       ldc.i4.0
-                       stloc res
-                       leave RET
-               } catch [mscorlib]System.OverflowException {
-                       pop
-                       leave IL_0
-               }
-
-       IL_0:
-
-        .try {
-                       ldc.i8 0xffffffff80000000
-                       conv.ovf.i4.un
-                       pop
-                       ldc.i4.1
-                       stloc res
-                       leave RET
-               } catch [mscorlib]System.OverflowException {
-                       pop
-                       leave RET
-               }
-
-       RET:
-               ldloc res
-               ret
-       }
-
-    .method public static int32 test_1_lconv_to_ovf_i_un () cil managed {
-               .maxstack 16
-               .locals init (int32 res)
-
-               ldc.i4 0x7fffffff
-               conv.u8
-               conv.ovf.i.un
-               conv.i4
-               pop
-
-               ldc.i4.1
-               ret
-       }
-
-       .method public static int32 test_32_lconv_to_u8 () cil managed
-       {
-               .maxstack 16
-
-               ldc.i4 32
-               conv.i8
-               conv.u8
-               conv.i4
-               ret
-       }                               
-
-       .method public static int32 test_32_lconv_to_i8 () cil managed
-       {
-               .maxstack 16
-
-               ldc.i4 32
-               conv.i8
-               conv.i8
-               conv.i4
-               ret
-       }                               
-
-       .method public static int32 test_15_lconv_to_u () cil managed
-       {
-       ldc.i8 0x10000000f
-               conv.u
-               conv.i4
-               ret
-       }
-
-       .method public static int32 
test_0_get_type_from_handle_on_bblock_boundary () cil managed 
-       {
-               .maxstack 16
-       
-               ldc.i4.1
-               brfalse OBJECT
-       
-               ldtoken [mscorlib]System.String
-               br AFTER
-       OBJECT:
-               ldtoken [mscorlib]System.Object
-       AFTER:
-               call class [mscorlib]'System.Type' class 
[mscorlib]'System.Type'::'GetTypeFromHandle'(valuetype 
[mscorlib]'System.RuntimeTypeHandle')
-               callvirt instance string class 
[mscorlib]System.Type::get_FullName ()
-               ldstr "System.String"
-               callvirt instance bool class 
[mscorlib]System.Object::Equals(object)
-               ldc.i4.0
-               ceq
-               ret 
-       }
-               
-       .method public static int32 test_0_bug59580  ()
-       {
-               ldc.r4          float32(0x7FC00000)
-               ldc.r4          float32(0x7FC00000)
-               bge.un          pass
-               br              fail
-       pass:
-               ldc.i4.0
-               ret
-       fail:
-               ldc.i4.1
-               ret
-       }
-       
-       .method public static int32 test_1_bug60056  () {
-               .locals init (int32 m5)
-                       
-               ldc.i4.m1
-               stloc.0
-               
-               ldc.i4.1
-               conv.u8
-               
-               ldloc.0
-               conv.i8
-               mul
-               
-               ldc.i4.m1
-               conv.i8
-               ceq
-               ret
-       }
-       
-       .method public static int32 test_1_conv_u8_cfold  () {
-               ldc.i4.m1
-               conv.u8
-               
-               ldc.i8 0x00000000ffffffff
-               
-               ceq
-               ret
-       }
-       
-       .method public static int32 test_1_array_type_mismatch_ldelema  () {
-               .locals init (int32 r)
-               
-                       ldc.i4.1
-                       newarr string
-                       ldc.i4.0 
-                       ldelema string
-                       pop
-               
-               .try {
-                       ldc.i4.1
-                       newarr string
-                       ldc.i4.0 
-                       ldelema object
-                       pop
-                       
-                       leave end
-               } catch [mscorlib]System.ArrayTypeMismatchException {
-                       pop
-                       ldc.i4.1
-                       stloc.0
-                       leave end
-               }
-       end:
-               ldloc.0
-               ret
-       }
-
-       .method public static int32 test_1_conv_ovf_i8_with_i4 () {
-                       ldc.i4.m1 
-                       conv.ovf.i8
-                       conv.ovf.i4
-                       neg
-                       ret
-       }
-
-       // bug #72148
-    .method public static int32 test_0_initlocals_float_ptr () {
-       .maxstack 3
-       .locals init (
-               float32[]       V_0,
-               float32& pinned V_1,
-               unsigned int32  V_2)
-                       ldc.i4.s 0x0f
-                       newarr [mscorlib]System.Single
-                       stloc.0 
-                       ldloc.0 
-                       ldc.i4.0 
-                       ldc.r4 1.13
-                       stelem.r4 
-                       ldloc.0 
-                       ldc.i4.0 
-                       ldelema [mscorlib]System.Single
-                       stloc.1 
-                       ldloc.1 
-                       conv.i 
-                       ldind.u4 
-                       stloc.2 
-                       ldc.i4.0
-                       ret
-       }
-
-       .method public static int32 test_7_conv_ovf_u8_un () {
-       .maxstack  2
-        .locals    init (unsigned int64)
-
-        ldc.i4.7
-        conv.ovf.u8.un
-        stloc.0
-               ldloc.0
-               conv.i4
-        ret
-       }
-
-       .method public static int32 test_1_bug_74591 () {
-               .maxstack 16
-               .locals init (int32)
-
-               ldc.i4.m1
-               stloc.0
-               ldloc.0
-               conv.ovf.i8
-               ldc.i4.m1
-               conv.ovf.i8
-               mul.ovf
-               conv.i4
-               ret
-       }
-
-       .class nested public auto ansi Integer
-               extends [mscorlib]System.Object {
-
-               .field public bool n
-
-           .method public hidebysig  specialname  rtspecialname 
-           instance default void .ctor (unsigned int64 i, bool n)  cil managed 
-           {
-                       .maxstack 8
-                       ldarg.0
-                       call instance void class 
[mscorlib]System.Object::.ctor()
-                       ldarg.0
-                       ldarg.2
-                       stfld bool Tests/Integer::n
-                       ret
-               }
-       }
-
-       .method public static int32 test_1_bug_74726 () {
-               .maxstack 16
-
-               ldc.i4.2
-               conv.ovf.u8
-               ldc.i4.1
-               conv.ovf.u8
-               mul.ovf.un
-               ldc.i4.1
-               newobj instance void class Tests/Integer::.ctor(unsigned int64, 
bool)
-               ldfld bool Tests/Integer::n
-               ldc.i4.1
-               ceq
-               ret
-       }
-
-       .class nested private auto ansi sealed xxx
-       extends [mscorlib]System.ValueType
-   {
-     .field  public   object a
-
-     .method public hidebysig  specialname  rtspecialname 
-            instance default void .ctor ()  cil managed 
-     {
-                .maxstack 8
-                ret 
-     }
-   } // end of class xxx
-
-       .method public static int32 test_0_newobj_vtype () {
-               .maxstack 6
-               .locals init (
-                       valuetype Tests/xxx V_0
-               )
-
-               newobj instance void valuetype Tests/xxx::.ctor ()
-               stloc.0
-               ldloca.s 0
-               ldfld object Tests/xxx::a
-               brfalse OK
-               ldc.i4.s 1
-               ret
-       OK:
-               ldc.i4.s 0
-               ret
-       }
-
-       .method public static int32 test_1_filters () {
-               .maxstack 16
-               .locals init (
-                       int32 res
-               )
-
-               .try { // 0
-                       .try {
-                               ldstr "OnErrorSub test Exception"
-                               newobj instance void class 
[mscorlib]System.Exception::.ctor(string)
-                               throw 
-                               leave.s IL_0033
-                       }
-                       filter {
-                               pop
-                               ldc.i4.0
-                               endfilter
-                       } {
-                               pop
-                               // Should not be called
-                               ldc.i4.2
-                               stloc res
-                               leave.s IL_0033
-                       }
-               }
-               filter {
-                       pop
-                       ldc.i4.1
-                       endfilter 
-               } {
-                 pop
-                 ldc.i4.1
-                 stloc res       
-                 leave.s IL_0033
-
-               }
-               IL_0033:
-               ldloc res
-               ret
-       }
-
-       .class nested private auto ansi sealed beforefieldinit TheStruct
-               extends [mscorlib]System.ValueType {
-               .field public int32 a
-               .field public int32 b
-       }
-
-       .method public static int32 test_5_cpobj () {
-               .maxstack 8
-               .locals init (  
-                               valuetype Tests/TheStruct v_0, 
-                               valuetype Tests/TheStruct v_1
-                                        )
-
-               ldloca v_0
-               ldc.i4.2
-               stfld int32 Tests/TheStruct::a
-
-               ldloca v_0
-               ldc.i4.3
-               stfld int32 Tests/TheStruct::b
-
-               ldloca v_1
-               ldloca v_0
-               cpobj Tests/TheStruct
-
-               ldloca v_1
-               ldfld int32 Tests/TheStruct::a
-               ldloca v_1
-               ldfld int32 Tests/TheStruct::b
-               add
-
-               ret
-       }
-
-       .method public static int32 test_5_ldobj_stloc_optimization () {
-               .maxstack 8
-               .locals init (  
-                               valuetype Tests/TheStruct v_0, 
-                               valuetype Tests/TheStruct v_1
-                                        )
-
-               ldloca v_0
-               ldc.i4.2
-               stfld int32 Tests/TheStruct::a
-
-               ldloca v_0
-               ldc.i4.3
-               stfld int32 Tests/TheStruct::b
-
-               ldloca v_0
-               ldobj valuetype Tests/TheStruct
-               stloc.s v_1
-
-               ldloca v_1
-               ldfld int32 Tests/TheStruct::a
-               ldloca v_1
-               ldfld int32 Tests/TheStruct::b
-               add
-
-               ret
-       }
-
-       .method public static int32 test_1_cpobj_reference () {
-               .maxstack 8
-               .locals init (  
-                               object v_0, 
-                               object v_1
-                                        )
-
-               newobj instance void object::.ctor()
-               stloc v_0
-
-               ldloca v_1
-               ldloca v_0
-               cpobj object
-
-               ldloc v_0
-               ldloc v_1
-               ceq
-               ret
-       }
-
-       .method public static int32 test_1_initobj_reference () {
-               .maxstack 8
-               .locals init (  
-                               object v_0
-                                        )
-
-               newobj instance void object::.ctor()
-               stloc v_0
-
-               ldloca v_0
-               initobj object
-
-               ldloc v_0
-               ldnull
-               ceq
-               ret
-       }
-
-       .method public static int32 test_1_ldobj_reference () {
-               .maxstack 8
-               .locals init (  
-                               object v_0
-                                        )
-
-               newobj instance void object::.ctor()
-               stloc v_0
-
-               ldloc v_0
-               ldloca v_0
-               ldobj object
-               ceq
-               ret
-       }
-
-       .method public static int32 test_5_vtype_on_bb_boundary () {
-               .maxstack 8
-               .locals init (  
-                               valuetype Tests/TheStruct v_0, 
-                               valuetype Tests/TheStruct v_1
-                                        )
-
-               ldloca v_0
-               ldc.i4.2
-               stfld int32 Tests/TheStruct::a
-
-               ldloca v_0
-               ldc.i4.3
-               stfld int32 Tests/TheStruct::b
-
-               ldloc v_0
-               br L_0
-       L_0: stloc v_1
-
-               ldloca v_1
-               ldfld int32 Tests/TheStruct::a
-               ldloca v_1
-               ldfld int32 Tests/TheStruct::b
-               add
-               ret
-       }
-
-       .method public static int32 test_5_different_in_stacks () cil managed {
-               .maxstack 16
-
-                       ldc.i4.1
-                       ldc.i4.1
-                       beq L_0
-
-                       ldc.i4.3
-                       ldc.i4.3
-                       br L_1
-                       ldc.i4.3
-                       ldc.i4.3
-                       br L_2
-        L_0:   ldc.i4.2
-                       ldc.i4.3
-                       ldc.i4.1
-                       ldc.i4.1
-                       beq L_2
-        L_1:   add
-                       ret
-        L_2:   add
-                       ret
-       }
-
-       .method public static int32 test_3_larray_get_set () {
-               .locals init (
-                       int32[2]        V_0)
-                         
-                       ldc.i4.2 
-                       newobj instance void int32[0...]::.ctor(int32)
-                       stloc.0 
-                       ldloc.0 
-                       ldc.i4.0 
-                       ldc.i4 1
-                       call instance void int32[0...]::Set(int32, int32)
-                   ldloc.0 
-                   ldc.i4.1 
-                       ldc.i4 2
-                       call instance void int32[0...]::Set(int32, int32)
-
-                       ldloc.0
-                       ldc.i4.0
-                       call instance int32 int32[0...]::Get(int32)
-                       ldloc.0
-                       ldc.i4.1
-                       call instance int32 int32[0...]::Get(int32)
-                       add
-                       ret
-       }
-
-       .method public static int32 test_0_pop_side_effects () {
-               .try {
-                       ldc.r8 1
-                       ldc.r8 0
-                       div
-                       ckfinite
-                       pop
-                       leave FAIL
-               }
-               catch [mscorlib]System.ArithmeticException {
-                       pop
-                       leave L_0
-               }
-               L_0:
-               ldc.i4.0
-               ret
-               FAIL:
-               ldc.i4.1
-               ret
-       }
-
-       .method public static void regalloc_regress_78314_helper (object o) cil 
managed
-       {
-               ret
-       }
-
-       .method public static int32 test_1_regalloc_regress_78314 () cil managed
-       {
-    // Code size       68 (0x44)
-    .maxstack  6
-    .locals init (int32 V_0, bool V_1)
-    IL_0000:  ldc.i4.0
-    IL_0001:  stloc.0
-    IL_0002:  br.s       IL_003b
-
-    IL_0004:
-    IL_001e:  ldc.i4.s   10
-    IL_0020:  ldloc.0
-    IL_0021:  shl
-    IL_0022:  ldc.i4.s   10
-    IL_0024:  ldloc.0
-    IL_0025:  shl
-    IL_0026:  ceq
-    IL_0028:  box        [mscorlib]System.Boolean
-    IL_0032:  call       void Tests::regalloc_regress_78314_helper(object)
-    IL_0037:  ldloc.0
-    IL_0038:  ldc.i4.1
-    IL_0039:  add
-    IL_003a:  stloc.0
-    IL_003b:  ldloc.0
-    IL_003c:  ldc.i4.8
-    IL_003f:  blt.s      IL_0004
-
-       ldloc.0
-       ldc.i4.8
-       ceq
-       conv.i4
-       ret     
-  }
-
-       .method public static void try_block_end_remove_if_useless () cil 
managed {
-           .maxstack  8
-
-           T_START:
-               ldstr   "Start"
-                       pop
-               leave.s COMPLETE
-           T1_END:
-
-           COMPLETE:
-               ret
-
-           F1_START:
-               ldstr   "Finally1"
-                       pop
-               endfinally
-           F1_END:
-
-           .try T_START to T1_END finally handler F1_START to F1_END
-       }
-
-       .method public static int32 test_0_try_block_end_remove_if_useless () 
cil managed {
-               call void class Tests::try_block_end_remove_if_useless ()
-               ldc.i4.0
-               ret
-       }
-
-   .method private static int32 test_0_regress_78629_switch_next_ins_target () 
 cil managed
-    {
-        ldc.i4.0
-        switch (target)
-        target: ldstr "bar"
-               pop
-               ldc.i4.0
-        ret
-    }
-
-       // This belongs to basic-float.cs, but its hard to tell mcs/csc to
-       // generate the non .un version of the opcodes
-    .method private static  hidebysig 
-           default int32 test_4_float_branch_nan ()  cil managed 
-    {
-        // Method begins at RVA 0x27a4
-       // Code size 74 (0x4a)
-       .maxstack 2
-       .locals init (
-               float64 V_0,
-               float64 V_1,
-               int32   V_2)
-       IL_0000:  ldc.r8 (00 00 00 00 00 00 f8 ff)
-       IL_0009:  stloc.0 
-       IL_000a:  ldc.r8 1.
-       IL_0013:  stloc.1 
-       IL_0014:  ldc.i4.0 
-       IL_0015:  stloc.2 
-       IL_0016:  ldloc.0 
-       IL_0017:  ldloc.1 
-       IL_0018:  bge.s IL_001a
-
-                               br L1
-       IL_001a:  ldloc.2 
-       IL_001b:  ret 
-       L1:
-       IL_001c:  ldloc.2 
-       IL_001d:  ldc.i4.1 
-       IL_001e:  add 
-       IL_001f:  stloc.2 
-       IL_0020:  ldloc.0 
-       IL_0021:  ldloc.1 
-       IL_0022:  ble.s IL_002e
-                               br L2
-       IL_002e:  ldloc.2 
-       IL_002f:  ret 
-       L2:
-       IL_0030:  ldloc.2 
-       IL_0031:  ldc.i4.1 
-       IL_0032:  add 
-       IL_0033:  stloc.2 
-       IL_0034:  ldloc.0 
-       IL_0035:  ldloc.1 
-       IL_0036:  blt.s IL_0038
-                               br L3           
-       IL_0038:  ldloc.2 
-       IL_0039:  ret 
-       L3:
-       IL_003a:  ldloc.2 
-       IL_003b:  ldc.i4.1 
-       IL_003c:  add 
-       IL_003d:  stloc.2 
-       IL_003e:  ldloc.0 
-       IL_003f:  ldloc.1 
-       IL_0040:  bgt.s IL_0042
-                               br L4
-       IL_0042:  ldloc.2 
-       IL_0043:  ret 
-       L4:
-       IL_0044:  ldloc.2 
-       IL_0045:  ldc.i4.1 
-       IL_0046:  add 
-       IL_0047:  stloc.2 
-       IL_0048:  ldloc.2 
-       IL_0049:  ret 
-    } // end of method Tests::test_5_float_branch_nan
-
-    .method private static  hidebysig
-           default void regress_80622_inner (object x)  cil managed
-    {
-               .locals (unsigned int8 i)
-        // Method begins at RVA 0x2050
-        // Code size 14 (0xe)
-        .maxstack 8
-        IL_1000:  ldarg.0
-        IL_1001:  unbox unsigned int8
-        IL_1006:  ldobj unsigned int8
-        IL_000b:  conv.ovf.i4.un
-        IL_000c:  pop
-        IL_000d:  ret
-    }
-
-    // method line 2
-    .method private static  hidebysig
-           default int32 test_0_regress_80622 ()  cil managed
-    {
-        .maxstack 8
-        IL_0000:  ldc.i4 255
-        IL_0005:  box unsigned int8
-        IL_000a:  call void class Tests::regress_80622_inner (object)
-               ldc.i4.0
-        IL_000f:  ret
-    }
-
-       .method private static default int32 test_0_regresss_80190 () cil 
managed
-       {
-           .maxstack  2
-           .locals init (int32 V_0,
-                    int32* V_1)
-           IL_0000:  nop
-           IL_0001:  nop
-           IL_0002:  ldloca.s   V_0
-           IL_0004:  conv.u
-           IL_0005:  stloc.1
-           IL_0006:  ldloc.1
-           IL_0007:  ldc.i4.3
-           IL_0008:  stind.i4
-           IL_0009:  nop
-                                 ldc.i4.0
-                                 ret
-       }
-
-}

Modified: trunk/mono/mono/mini/iltests.il.in
===================================================================
--- trunk/mono/mono/mini/iltests.il.in  2007-03-14 19:56:14 UTC (rev 74297)
+++ trunk/mono/mono/mini/iltests.il.in  2007-03-14 19:57:06 UTC (rev 74298)
@@ -486,6 +486,10 @@
                ret
        }
 
+#if arch != __ppc__
+       //
+       // Tail calls are not supported on PowerPC.
+       // 
        .method static public int32 test_0_tail_calls () il managed {
                .maxstack 16
                .locals init (
@@ -556,6 +560,7 @@
                call int32 Tests::tail4 (int32, int32)
                ret
        }
+#endif
 
        .method public static int32 test_5_jmp () cil managed {
                jmp int32 Tests::jmp2 ()

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to