.assembly extern mscorlib { } .assembly ExceptionHandlerTypeSafetyHole_NET_4_0_beta2_x64 { } .module ExceptionHandlerTypeSafetyHole_NET_4_0_beta2_x64 .subsystem 0x0003 .corflags 0x00000001 .class public Union1 extends [mscorlib]System.Exception { .field public object o .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { ldarg.0 call instance void [mscorlib]System.Exception::.ctor() ret } } .class public Union2 extends [mscorlib]System.Exception { .field public int64 i .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { ldarg.0 call instance void [mscorlib]System.Exception::.ctor() ret } } .class public ExceptionHandlerTypeSafetyHole_NET_4_0_beta2_x64 extends [mscorlib]System.Object { .field static public class Union1 union .method public hidebysig static void SetRDX(int32 i, object j) cil managed noinlining { ret } .method public hidebysig static int32 Convert(class Union2 obj) cil managed noinlining { .maxstack 643 .locals init (int32 V_0, int32 V_1, int32 V_2, class [mscorlib]System.Exception V_3, int32 V_4, int32 V_5, int32 V_6, class ExceptionHandlerTypeSafetyHole_NET_4_0_beta2_x64 V_7, class [mscorlib]System.Exception V_8, class [mscorlib]System.Exception V_9, class [mscorlib]System.Exception V_10, class [mscorlib]System.Exception V_11, class [mscorlib]System.Exception V_12, int32 V_13, class [mscorlib]System.Exception V_14, class [mscorlib]System.Exception V_15, class [mscorlib]System.Exception V_16, class [mscorlib]System.Exception V_17, int32 V_18, class [mscorlib]System.Exception V_19, class [mscorlib]System.Exception V_20, class [mscorlib]System.Exception V_21, int32 V_22, class [mscorlib]System.Exception V_23, class [mscorlib]System.Exception V_24, class [mscorlib]System.Exception V_25, class [mscorlib]System.Exception V_26, class [mscorlib]System.Exception V_27, class [mscorlib]System.Exception V_28, class [mscorlib]System.Exception V_29, class [mscorlib]System.Exception V_30, class [mscorlib]System.Exception V_31, class [mscorlib]System.Exception V_32, class [mscorlib]System.Exception V_33, class [mscorlib]System.Exception V_34, class [mscorlib]System.Exception V_35, class [mscorlib]System.Exception V_36, class [mscorlib]System.Exception V_37, int32 V_38, int32 V_39, class [mscorlib]System.Exception V_40, class [mscorlib]System.Exception V_41, class [mscorlib]System.Exception V_42, class [mscorlib]System.Exception V_43, class [mscorlib]System.Exception V_44, class [mscorlib]System.Exception V_45, int32 V_46, class [mscorlib]System.Exception V_47, class [mscorlib]System.Exception V_48, class [mscorlib]System.Exception V_49, class [mscorlib]System.Exception V_50, class [mscorlib]System.Exception V_51, class [mscorlib]System.Exception V_52, class [mscorlib]System.Exception V_53, class [mscorlib]System.Exception V_54, class [mscorlib]System.Exception V_55, class [mscorlib]System.Exception V_56, class [mscorlib]System.Exception V_57, int32 V_58, int32 V_59, int32 V_60, int32 V_61, class [mscorlib]System.Exception V_62, class [mscorlib]System.Exception V_63, class [mscorlib]System.Exception V_64, class [mscorlib]System.Exception V_65, class [mscorlib]System.Exception V_66, class [mscorlib]System.Exception V_67, int32 V_68, class [mscorlib]System.Exception V_69, int32 V_70, class [mscorlib]System.Exception V_71, int32 V_72, class [mscorlib]System.Exception V_73, int32 V_74, class [mscorlib]System.Exception V_75) IL_003d: .try { IL_008e: .try { newobj instance void Union1::.ctor() throw } catch Union1 { ldc.i4 42 ldarg obj call void ExceptionHandlerTypeSafetyHole_NET_4_0_beta2_x64::SetRDX(int32, object) dup stsfld class Union1 ExceptionHandlerTypeSafetyHole_NET_4_0_beta2_x64::union leave IL_012d } IL_012d: leave IL_015d } catch [mscorlib]System.Exception { rethrow } IL_015d: ldc.i4.0 ret IL_015f: br IL_025f IL_0164: ldloc.s V_8 IL_0166: br IL_0172 IL_016b: ldloc.s V_9 IL_016d: br IL_23da IL_0172: stloc.s V_10 .try { IL_0174: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_01e2: br.s IL_01e2 IL_01e4: br IL_01fb IL_01e9: br IL_01f5 IL_01ee: ldloc.s V_10 IL_01f0: br IL_23da IL_01f5: ldc.i4 0x3e8 IL_01fa: ret .try { IL_01fb: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0249: br.s IL_0249 IL_024b: br IL_025f IL_0250: br IL_025c IL_0255: ldloc.s V_11 IL_0257: br IL_23da IL_025c: ldc.i4.s 69 IL_025e: ret .try { IL_025f: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_02ad: br.s IL_02ad IL_02af: br IL_02c3 IL_02b4: br IL_02c0 IL_02b9: ldloc.s V_12 IL_02bb: br IL_23da IL_02c0: ldc.i4.s 69 IL_02c2: ret .try { IL_02c3: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_03f1: br.s IL_03f1 IL_03f3: br IL_008e IL_03f8: br IL_0474 IL_03fd: br IL_0414 IL_0402: br IL_040e IL_0407: ldloc.s V_14 IL_0409: br IL_23da IL_040e: ldc.i4 0x3e8 IL_0413: ret .try { IL_0414: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0466: br.s IL_0466 IL_0468: br IL_0474 IL_046d: ldloc.s V_15 IL_046f: br IL_23da .try { IL_0474: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0673: br.s IL_0673 IL_0675: br IL_2099 IL_067a: br IL_098d IL_067f: br IL_13a5 IL_0684: br IL_0a52 IL_0689: br IL_0da7 IL_068e: br IL_0ef6 IL_0693: br IL_0710 IL_0698: br IL_0713 IL_069d: br IL_09f0 IL_06a2: br IL_08a6 IL_06a7: br IL_0725 IL_06ac: br IL_0918 IL_06b1: br IL_0728 IL_06b6: br IL_187b IL_06bb: br IL_0ef3 IL_06c0: br IL_0722 IL_06c5: br IL_0ab4 IL_06ca: br IL_0d44 IL_06cf: br IL_0b90 IL_06d4: br IL_0ef0 IL_06d9: br IL_070d IL_06de: br IL_071c IL_06e3: br IL_071f IL_06e8: br IL_0e8d IL_06ed: br IL_0716 IL_06f2: br IL_0e1a IL_06f7: br IL_0719 IL_06fc: br IL_098a IL_0701: br IL_213e IL_0706: ldloc.s V_16 IL_0708: br IL_23da IL_070d: ldc.i4.s 53 IL_070f: ret IL_0710: ldc.i4.s 28 IL_0712: ret IL_0713: ldc.i4.s 29 IL_0715: ret IL_0716: ldc.i4.s 68 IL_0718: ret IL_0719: ldc.i4.s 31 IL_071b: ret IL_071c: ldc.i4.s 14 IL_071e: ret IL_071f: ldc.i4.s 70 IL_0721: ret IL_0722: ldc.i4.s 27 IL_0724: ret IL_0725: ldc.i4.s 30 IL_0727: ret .try { IL_0728: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_077b: br.s IL_077b IL_077d: br IL_0791 IL_0782: ldloc.s V_6 IL_0784: br IL_0790 IL_0789: ldloc.s V_17 IL_078b: br IL_23da IL_0790: ret .try { IL_0791: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_07f5: br.s IL_07f5 IL_07f7: br IL_085b IL_07fc: br IL_0810 IL_0801: br IL_080d IL_0806: ldloc.s V_19 IL_0808: br IL_23da IL_080d: ldc.i4.s 107 IL_080f: ret .try { IL_0810: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_084b: br.s IL_084b IL_084d: br IL_0859 IL_0852: ldloc.s V_20 IL_0854: br IL_23da IL_0859: ldc.i4.3 IL_085a: ret .try { IL_085b: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0896: br.s IL_0896 IL_0898: br IL_08a4 IL_089d: ldloc.s V_21 IL_089f: br IL_23da IL_08a4: ldc.i4.3 IL_08a5: ret .try { IL_08a6: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_08f5: br.s IL_08f5 IL_08f7: br IL_090b IL_08fc: br IL_0908 IL_0901: ldloc.s V_23 IL_0903: br IL_23da IL_0908: ldc.i4.s 9 IL_090a: ret IL_090b: ldloc.s V_22 IL_090d: ldc.i4.0 IL_090e: ble IL_0916 IL_0913: ldc.i4.s 84 IL_0915: ret IL_0916: ldc.i4.1 IL_0917: ret .try { IL_0918: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0967: br.s IL_0967 IL_0969: br IL_097d IL_096e: br IL_097a IL_0973: ldloc.s V_24 IL_0975: br IL_23da IL_097a: ldc.i4.s 10 IL_097c: ret IL_097d: ldloc.s V_22 IL_097f: ldc.i4.0 IL_0980: ble IL_0988 IL_0985: ldc.i4.s 85 IL_0987: ret IL_0988: ldc.i4.2 IL_0989: ret IL_098a: ldc.i4.s 67 IL_098c: ret .try { IL_098d: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_09d7: br.s IL_09d7 IL_09d9: br IL_09ed IL_09de: br IL_09ea IL_09e3: ldloc.s V_25 IL_09e5: br IL_23da IL_09ea: ldc.i4.s 19 IL_09ec: ret IL_09ed: ldc.i4.s 66 IL_09ef: ret .try { IL_09f0: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0a3a: br.s IL_0a3a IL_0a3c: br IL_0a50 IL_0a41: br IL_0a4d IL_0a46: ldloc.s V_26 IL_0a48: br IL_23da IL_0a4d: ldc.i4.s 86 IL_0a4f: ret IL_0a50: ldc.i4.4 IL_0a51: ret .try { IL_0a52: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0a9c: br.s IL_0a9c IL_0a9e: br IL_0ab2 IL_0aa3: br IL_0aaf IL_0aa8: ldloc.s V_27 IL_0aaa: br IL_23da IL_0aaf: ldc.i4.s 91 IL_0ab1: ret IL_0ab2: ldc.i4.5 IL_0ab3: ret .try { IL_0ab4: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0b03: br.s IL_0b03 IL_0b05: br IL_0b19 IL_0b0a: br IL_0b16 IL_0b0f: ldloc.s V_28 IL_0b11: br IL_23da IL_0b16: ldc.i4.s 16 IL_0b18: ret .try { IL_0b19: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0b70: br.s IL_0b70 IL_0b72: br IL_0b8e IL_0b77: br IL_0b8b IL_0b7c: br IL_0b88 IL_0b81: ldloc.s V_29 IL_0b83: br IL_23da IL_0b88: ldc.i4.s 92 IL_0b8a: ret IL_0b8b: ldc.i4.s 13 IL_0b8d: ret IL_0b8e: ldc.i4.7 IL_0b8f: ret .try { IL_0b90: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0bd8: br.s IL_0bd8 IL_0bda: br IL_0bee IL_0bdf: br IL_0beb IL_0be4: ldloc.s V_30 IL_0be6: br IL_23da IL_0beb: ldc.i4.s 12 IL_0bed: ret .try { IL_0bee: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0c3d: br.s IL_0c3d IL_0c3f: br IL_0c53 IL_0c44: br IL_0c50 IL_0c49: ldloc.s V_31 IL_0c4b: br IL_23da IL_0c50: ldc.i4.s 17 IL_0c52: ret .try { IL_0c53: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0caf: br.s IL_0caf IL_0cb1: br IL_0d41 IL_0cb6: br IL_0cca IL_0cbb: br IL_0cc7 IL_0cc0: ldloc.s V_32 IL_0cc2: br IL_23da IL_0cc7: ldc.i4.s 93 IL_0cc9: ret .try { IL_0cca: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0d21: br.s IL_0d21 IL_0d23: br IL_0d3f IL_0d28: br IL_0d3c IL_0d2d: br IL_0d39 IL_0d32: ldloc.s V_33 IL_0d34: br IL_23da IL_0d39: ldc.i4.s 94 IL_0d3b: ret IL_0d3c: ldc.i4.s 11 IL_0d3e: ret IL_0d3f: ldc.i4.8 IL_0d40: ret IL_0d41: ldc.i4.s 12 IL_0d43: ret .try { IL_0d44: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0d8e: br.s IL_0d8e IL_0d90: br IL_0da4 IL_0d95: br IL_0da1 IL_0d9a: ldloc.s V_34 IL_0d9c: br IL_23da IL_0da1: ldc.i4.s 18 IL_0da3: ret IL_0da4: ldc.i4.s 71 IL_0da6: ret .try { IL_0da7: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0df6: br.s IL_0df6 IL_0df8: br IL_0e0c IL_0dfd: br IL_0e09 IL_0e02: ldloc.s V_35 IL_0e04: br IL_23da IL_0e09: ldc.i4.s 24 IL_0e0b: ret IL_0e0c: ldloc.s V_22 IL_0e0e: ldc.i4.0 IL_0e0f: ble IL_0e17 IL_0e14: ldc.i4.s 88 IL_0e16: ret IL_0e17: ldc.i4.s 20 IL_0e19: ret .try { IL_0e1a: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0e69: br.s IL_0e69 IL_0e6b: br IL_0e7f IL_0e70: br IL_0e7c IL_0e75: ldloc.s V_36 IL_0e77: br IL_23da IL_0e7c: ldc.i4.s 25 IL_0e7e: ret IL_0e7f: ldloc.s V_22 IL_0e81: ldc.i4.0 IL_0e82: ble IL_0e8a IL_0e87: ldc.i4.s 89 IL_0e89: ret IL_0e8a: ldc.i4.s 22 IL_0e8c: ret .try { IL_0e8d: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_0ed7: br.s IL_0ed7 IL_0ed9: br IL_0eed IL_0ede: br IL_0eea IL_0ee3: ldloc.s V_37 IL_0ee5: br IL_23da IL_0eea: ldc.i4.s 90 IL_0eec: ret IL_0eed: ldc.i4.s 21 IL_0eef: ret IL_0ef0: ldc.i4.s 23 IL_0ef2: ret IL_0ef3: ldc.i4.s 65 IL_0ef5: ret .try { IL_0ef6: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_11b0: br.s IL_11b0 IL_11b2: br IL_1287 IL_11b7: br IL_1224 IL_11bc: ldloc.s V_40 IL_11be: br IL_11ca IL_11c3: ldloc.s V_41 IL_11c5: br IL_23da IL_11ca: stloc.s V_42 .try { IL_11cc: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_121b: br.s IL_121b IL_121d: ldloc.s V_42 IL_121f: br IL_23da .try { IL_1224: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_1279: br.s IL_1279 IL_127b: br IL_1287 IL_1280: ldloc.s V_43 IL_1282: br IL_23da .try { IL_1287: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_12d1: br.s IL_12d1 IL_12d3: br IL_12e7 IL_12d8: br IL_12e4 IL_12dd: ldloc.s V_44 IL_12df: br IL_23da IL_12e4: ldc.i4.s 51 IL_12e6: ret .try { IL_12e7: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_139c: br.s IL_139c IL_139e: ldloc.s V_45 IL_13a0: br IL_23da .try { .try { .try { IL_13a5: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_16e5: br.s IL_16e5 IL_16e7: leave IL_1700 } catch [mscorlib]System.Exception { rethrow } IL_1700: br.s IL_1700 IL_1702: leave IL_1730 } catch [mscorlib]System.Exception { rethrow } IL_1730: br.s IL_1730 IL_1732: br IL_1878 IL_1737: ldloc.s V_47 IL_1739: br IL_174c IL_173e: ldloc.s V_48 IL_1740: br IL_17a6 IL_1745: ldloc.s V_49 IL_1747: br IL_23da IL_174c: stloc.s V_50 .try { IL_174e: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_179d: br.s IL_179d IL_179f: ldloc.s V_50 IL_17a1: br IL_23da IL_17a6: stloc.s V_51 .try { IL_17a8: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_186f: br.s IL_186f IL_1871: ldloc.s V_53 IL_1873: br IL_23da IL_1878: ldc.i4.s 52 IL_187a: ret .try { IL_187b: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_1b3b: br.s IL_1b3b IL_1b3d: br IL_1c5c IL_1b42: br IL_003d IL_1b47: br IL_1b5a IL_1b4c: ldloc.s V_54 IL_1b4e: br IL_1b60 IL_1b53: ldloc.s V_55 IL_1b55: br IL_23da IL_1b5a: ldc.i4 0x3e9 IL_1b5f: ret IL_1b60: stloc.s V_56 .try { IL_1b62: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_1bf4: br.s IL_1bf4 IL_1bf6: br IL_1c0d IL_1bfb: br IL_1c07 IL_1c00: ldloc.s V_56 IL_1c02: br IL_23da IL_1c07: ldc.i4 0x3e9 IL_1c0c: ret .try { IL_1c0d: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_1c4e: br.s IL_1c4e IL_1c50: br IL_003d IL_1c55: ldloc.s V_57 IL_1c57: br IL_23da .try { IL_1c5c: ldloc.s V_22 IL_1c5e: ldc.i4.0 IL_1c5f: ble IL_1f88 .try { IL_1c64: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_1f86: br.s IL_1f86 IL_1f88: leave IL_1fbd IL_1f8d: leave IL_1fbb } catch [mscorlib]System.Exception { rethrow } IL_1fbb: br.s IL_1fbb IL_1fbd: br IL_2037 IL_1fc2: br IL_003d IL_1fc7: ldloc.s V_39 IL_1fc9: br IL_1fdc IL_1fce: ldloc.s V_62 IL_1fd0: br IL_1fdd IL_1fd5: ldloc.s V_63 IL_1fd7: br IL_23da IL_1fdc: ret IL_1fdd: stloc.s V_64 .try { IL_1fdf: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_202e: br.s IL_202e IL_2030: ldloc.s V_64 IL_2032: br IL_23da .try { IL_2037: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_2081: br.s IL_2081 IL_2083: br IL_2097 IL_2088: br IL_2094 IL_208d: ldloc.s V_65 IL_208f: br IL_23da IL_2094: ldc.i4.s 87 IL_2096: ret IL_2097: ldc.i4.6 IL_2098: ret .try { IL_2099: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_20e1: br.s IL_20e1 IL_20e3: br IL_20f7 IL_20e8: br IL_20f4 IL_20ed: ldloc.s V_66 IL_20ef: br IL_23da IL_20f4: ldc.i4.s 69 IL_20f6: ret .try { IL_20f7: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_2135: br.s IL_2135 IL_2137: ldloc.s V_67 IL_2139: br IL_23da .try { IL_213e: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_21ae: br.s IL_21ae IL_21b0: br IL_2239 IL_21b5: br IL_21c9 IL_21ba: ldloc.s V_68 IL_21bc: br IL_21c8 IL_21c1: ldloc.s V_69 IL_21c3: br IL_23da IL_21c8: ret .try { IL_21c9: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_2220: br.s IL_2220 IL_2222: br IL_2236 IL_2227: ldloc.s V_70 IL_2229: br IL_2235 IL_222e: ldloc.s V_71 IL_2230: br IL_23da IL_2235: ret IL_2236: ldc.i4.s 110 IL_2238: ret .try { IL_2239: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_2353: br.s IL_2353 IL_2355: br IL_2369 IL_235a: ldloc.s V_72 IL_235c: br IL_2368 IL_2361: ldloc.s V_73 IL_2363: br IL_23da IL_2368: ret .try { IL_2369: ldnull throw } catch [mscorlib]System.Exception { rethrow } IL_23c1: br.s IL_23c1 IL_23c3: br IL_23d7 IL_23c8: ldloc.s V_74 IL_23ca: br IL_23d6 IL_23cf: ldloc.s V_75 IL_23d1: br IL_23da IL_23d6: ret IL_23d7: ldc.i4.s 110 IL_23d9: ret IL_23da: pop ldc.i4.0 ret } }